'use strict'; const path = require('path'); function resolve(dir) { return path.join(__dirname, dir); } const name = process.env.VUE_APP_TITLE || '门店拜访'; // 网页标题 const port = 8888; // 端口 module.exports = { // publicPath: process.env.NODE_ENV === "production" ? "/mobile/" : "/", publicPath: '/mobile/', outputDir: 'mobile', assetsDir: 'static', lintOnSave: false, productionSourceMap: false, devServer: { port: port, open: true, proxy: { [process.env.VUE_APP_BASE_API]: { target: process.env.VUE_APP_Target, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: process.env.VUE_APP_BASE_API + '', }, }, }, disableHostCheck: true, }, configureWebpack: { name: name, resolve: { alias: { '@': resolve('src'), }, }, }, chainWebpack(config) { config.plugins.delete('preload'); // TODO: need test config.plugins.delete('prefetch'); // TODO: need test config.when(process.env.NODE_ENV !== 'development', (config) => { config.optimization.runtimeChunk('single'), { from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 to: './', //到根目录下 }; }); }, css: { loaderOptions: { sass: { //注意:sass-loader将文件引用写入每个组件,适合全局引入变量,但不适合在单页面应用中添加样式,如果是全局样式(非变量),建议在main.js里引入 // 路径支持别名的写法,案例就是用了路径别名,如果你没有在项目里设置,也可以自己手动设置即可 // sass-loader v10以下老版本 用的是prependData,不是additionalData // 给 sass-loader 传递选项 // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效 // 因为 `scss` 语法在内部也是由 sass-loader 处理的 // 但是在配置 `data` 选项的时候 // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号 // 在这种情况下,我们可以使用 `scss` 选项,对 `scss` 语法进行单独配置 additionalData: `@import "@/assets/styles/variable.scss";`, }, }, }, };