v2.8.x
考虑到只是官网,更新较少,而且较少数据交互css
选择了静态部署 在本地生成好了以后才上传到线上vue
yarn create kz-ow
的方式构建项目配置自定义的head 包含title
, meta
, link
,script
node
其中经过process.env.NODE_ENV === 'production'
判断是否加载相对域名下的资源ios
// 例如 const prefix = process.env.SITE_EVN === 'dev' ? '//dev.' : '//' const assetsPublicPath = 'xxxxx' // 判断当前资源的path const publicPath = process.env.NODE_ENV === 'production' ? prefix + assetsPublicPath || '' : '' const staticPath = publicPath ? publicPath : '/' link: [ { rel: 'icon', type: 'image/x-icon', href: `/favicon.ico` }, { rel: 'stylesheet', type: 'text/css', href: `${staticPath}css/adapter.css` }, { rel: 'stylesheet', type: 'text/css', href: `${staticPath}css/animate3.7.css` } ]
设置自定义的css
element-ui
其中element-ui
的css
就是在这里引入json
css: [ .... 'element-ui/lib/theme-chalk/index.css' ]
由于咱们主要是使用在官网,直接静态部署便可axios
可是因为咱们是动态路由缓存
并且存在中英文切换多语言版本的时候体如今路由上,sass
因此写了一个路由生成的函数 按照 ['zh', 'en', 'GB']
来生成路由服务器
经过引入 axios
与 style-resource
加强nuxt能力
modules: [ '@nuxtjs/axios', '@nuxtjs/style-resources' ],
经过 plugins提早导入element-ui
i18n
device-inject
axios
等
plugins: [ '~/plugins/element-ui', '~/plugins/i18n.js', '~/plugins/device-inject.js', '~/plugins/axios' ]
components // 组件库 │ ├── common // 公共组件 │ ├── mobile // 移动端组件 │ ├── pc // pc端组件 ├── config // 一些nuxt.config配置使用到的工具函数 │ ├── assetConfig.js │ ├── common.js │ ├── generate.js │ ├── paths.js │ └── route.js ├── layouts // 使用官方推荐默认layouts │ ├── default.vue │ └── error.vue ├── lib // 新增一些mixin和工具函数 │ ├── mixins │ └── utils ├── locales // 语言包 │ ├── GB.json │ ├── en.json │ └── zh.json ├── middleware │ └── i18n.js // 语言包切换过程当中的中间件,主要监听切换路由变换作处理 ├── nuxt.config.js // nuxt基本配置 ├── package.json ├── pages // 动态路由 │ ├── _lang ├── plugins // 渲染以前提早加入的插件 │ ├── axios.js │ ├── cache-error.js │ ├── device-inject.js │ ├── element-ui.js │ └── i18n.js ├── server // nuxt静态服务器配置 │ ├── IP.js │ └── index.js ├── server.json ├── static // 静态资源 │ ├── css │ ├── favicon.ico │ ├── images │ └── js ├── store // state状态管理 │ └── index.js
支持三种语言切换
支持移动端和pc端的展现,而且能随时切换语言和展现端
发包至线上偶尔会出现页面打开变成404
[nuxt] Error while initializing app Error : loading chunk 2 failed