通用的vue.config.js配置
module.exports = { publicPath: './', devServer: { port: 7004, disableHostCheck: true }, assetsDir:'static', indexPath:"index.html", // lintOnSave: false, runtimeCompiler: true, productionSourceMap: false, css:{ extract:true, sourceMap: false }, //npm install --save-dev compression-webpack-plugin configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, './src'), '@i': path.resolve(__dirname, './src/assets'), } }, plugins: [ new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), // 下面是下载的插件的配置 new CompressionWebpackPlugin({ algorithm: 'gzip', test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), threshold: 10240, minRatio: 0.8 }), new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 5, minChunkSize: 100 }) ] } }
publicPath: ‘./’:改配置生效后,打包后的包可放在服务器下任何文件夹内!
devServer.port: 7004:开发环境下的运行端口,此端口非确定,如被占用会自动加1,在生产环境下无效
assetsDir:是否将静态资源整合,并声明整合所在的文件夹
indexPath:index.html的输出路径,默认为index.html
lintOnSave:保存的时候使用 eslint-loader 进行检查。 有效的值:ture | false | "error" 当设置为 "error" 时,检查出的错误会触发编译失败。
css.extract:是否将页面中的css摘取出来生成一个css文件
configureWebpack:
npm install --save-dev compression-webpack-plugin 使用该命令安装compression-webpack-plugin插件 并进行如上配置,webpack打包时会将js文件压缩为.gz文件,减少首屏加载时间,注意同时需要修改nginx配置文件nginx.conf:
#gzip on;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable “MSIE [1-6].”;