1 const path = require('path'); 2 module.exports = { 3 // 基本路径 4 publicPath: process.env.NODE_ENV === 'production' ? '' : './', 5 // 输出文件目录 6 outputDir: process.env.NODE_ENV === 'production' ? 'dist' : 'devdist', 7 // eslint-loader 是否在保存的时候检查 8 lintOnSave: false, 9 /** vue3.0内置了webpack所有东西, 10 * webpack配置,see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md 11 **/ 12 chainWebpack: (config) => { 13 const svgRule = config.module.rule("svg"); 14 svgRule.uses.clear(); 15 svgRule 16 .use("svg-sprite-loader") 17 .loader("svg-sprite-loader") 18 .options({ 19 symbolId: "icon-[name]", 20 include: ["./src/icons"] 21 }); 22 }, 23 configureWebpack: (config) => { 24 config.resolve = { // 配置解析别名 25 extensions: ['.js', '.json', '.vue'], // 自动添加文件名后缀 26 alias: { 27 'vue': 'vue/dist/vue.js', 28 '@': path.resolve(__dirname, './src'), 29 '@c': path.resolve(__dirname, './src/components') 30 } 31 } 32 }, 33 // 生产环境是否生成 sourceMap 文件 34 productionSourceMap: false, 35 // css相关配置 36 css: { 37 // 是否使用css分离插件 ExtractTextPlugin 38 extract: true, 39 // 开启 CSS source maps? 40 sourceMap: false, 41 // css预设器配置项 42 loaderOptions: { 43 scss: { 44 prependData: `@import "./src/styles/main.scss";` 45 } 46 }, 47 // requireModuleExtension: false 48 // 启用 CSS modules for all css / pre-processor files. 49 // modules: false 50 }, 51 // use thread-loader for babel & TS in production build 52 // enabled by default if the machine has more than 1 cores 53 parallel: require('os').cpus().length > 1, 54 /** 55 * PWA 插件相关配置,see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa 56 */ 57 pwa: {}, 58 // webpack-dev-server 相关配置 59 devServer: { 60 open: false, // 编译完成是否打开网页 61 host: '0.0.0.0', // 指定使用地址,默认localhost,0.0.0.0代表可以被外界访问 62 port: 8080, // 访问端口 63 https: false, // 编译失败时刷新页面 64 hot: true, // 开启热加载 65 hotOnly: false, 66 proxy: { 67 "/devApi": { 68 target: "http://www.web-jshtml.cn/productapi/token", //API服务器的地址 69 changeOrigin: true, 70 pathRewrite: { 71 "^/devApi": '' 72 } 73 } 74 } 75 }, 76 /** 77 * 第三方插件配置 78 */ 79 pluginOptions: {} 80 }