前言
基于vue-cli3搭建基础的项目架构,针对不同的环境进行构建配置:本地环境,测试环境,线上环境。下面是对不同环境的一些配置和依赖工具的说明。
本地环境
命令
1 | // vue-cli升级到2.9.1后,webpack升级到3.6.0,改成使用webpack.dev.conf.js配置 |
配置
webpack-dev-server
- hot 开启热更新
- proxyTable 配置接口地址代理,解决接口跨域问题
webpack.dev.conf.js
1 | // webpack服务器配置 |
- config/index.js
1 | // 'http://localhost:8080/auth' ==> 'http://localhost:8889/auth' |
测试环境
命令
1 | cnpm run build_test |
配置
- config/index.js
1 | build: { |
正式环境
命令
1 | cnpm run build |
配置
- config/index.js map选项设置为false
1 | productionSourceMap: false, |
koa后端
1 | cnpm run server |
通用工具
check-versions
- 检测node和npm版本
版本配置,package.json
1
2
3
4
5
6{
"engines": {
"node": ">= 7.6.0",
"npm": ">= 3.0.0"
}
}依赖模块
chalk
控制台高亮semver
判断版本号shelljs
执行Unix命令- child_process 新建子进程,执行命令
环境参数配置
- 依赖模块
webpack-merge
拆分与合并配置对象- webpack.DefinePlugin({‘process.env’: config.build.env}) 设置环境参数
- devtool 开发工具配置,代码调试定位,”cheap-module-eval-source-map” 调试工具
compression-webpack-plugin
正式环境压缩
浏览器兼容性
浏览器兼容性版本配置
1
2
3
4
5
6
7{
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}依赖模块
- Babel/preset-env 兼容js特性
- postcss 添加浏览器前缀
- postcss-loader,配合使用Autoprefixer css浏览器前缀
html和静态资源
1 | // 生成html文件,并注入资源链接 |
- 依赖模块
- html-webpack-plugin 生成html,注入资源链接
- copy-webpack-plugin 文件复制到构建目录,通常是static下的库文件,对应配置项
assetsSubDirectory: 'static'
- url-loader 将小的静态资源文件转化为base64,减少http请求数量
css
1 | // 分离css文件 |
- 依赖模块
- vue-loader
- css-loader
- extract-text-webpack-plugin 分离css文件
- optimize-css-assets-webpack-plugin 压缩css文件
- vue-style-loader
- less 预处理器
- less-loader
js
1 | // 压缩js文件 |
依赖模块
- webpack.optimize.UglifyJsPlugin
- webpack.optimize.CommonsChunkPlugin