const path = require (‘path’);
const debug = process.env.NODE_ENV !== ‘production’;
module.exports = {
baseUrl: ‘/’, // 根本门路
outputDir: ‘dist’, // 输入文件目录
assetsDir: ‘assets’, // 动态资源目录 (js, css, img, fonts)
lintOnSave: true, // eslint-loader 是否在保留的时候查看
// webpack 配置
// see https://github.com/vuejs/vue-… webpack 链接 API,用于生成和批改 webapck 配置
chainWebpack: () => {
if (debug) {// 本地开发配置} else {// 生产开发配置}
},
configureWebpack: config => {
// webpack 配置,值位对象时会合并配置,为办法时会改写配置
if (debug) {
// 开发环境配置
config.devtool = 'cheap-module-eval-source-map';
} else {// 生产环境配置}
Object.assign (config, {
// 开发生产独特配置
resolve: {
alias: {'@': path.resolve (__dirname, './src'), // 设置门路别名
//...
},
},
});
},
// vue-loader 配置项
// https://vue-loader.vuejs.org/…
// vueLoader: {},
// 生产环境是否生成 sourceMap 文件
productionSourceMap: true,
// css 相干配置 配置高于 chainWebpack 中对于 css loader 的配置
css: {
// 是否应用 css 拆散插件 ExtractTextPlugin
extract: true,
// 开启 CSS source maps? 是否在构建款式地图,false 将进步构建速度
sourceMap: false,
// css 预设器配置项
loaderOptions: {},
// 启用 CSS modules for all css / pre-processor files.
modules: false,
},
// use thread-loader for babel & TS in production build
// enabled by default if the machine has more than 1 cores 构建时开启多过程解决 babel 编译
parallel: require (‘os’).cpus ().length > 1,
// 是否启用 dll
// See https://github.com/vuejs/vue-…
// dll: false,
// PWA 插件相干配置
// see https://github.com/vuejs/vue-…
pwa: {},
// webpack-dev-server 相干配置
devServer: {
open: process.platform === 'darwin',
host: '0.0.0.0',
port: 8080,
https: false,
hotOnly: false,
proxy: null, // 设置代理
before: app => {},
},
// 第三方插件配置
pluginOptions: {
// ...
},
};