Vue。jsCLI4Vue。config。js标准配置(最全注释)
前言:
Vue.js CLI工具 不知不觉发展到了4.0时代,CLI给人最直白的感受是没有了build文件夹跟config文件夹,所有的配置都在Vue.config.js完成。那么该文件的配置至关重要。现在我们来看一下最新配置是怎么配置的。
有三种方式,推荐第二种标准版(无需安装依赖,直接复制即可配置)。
1、依赖库
npm install vue-cli-configjs
2、标准版
// vue.config.js
const path = require("path");
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
const resolve = (dir) => path.join(__dirname, dir);
module.exports = {
publicPath: process.env.NODE_ENV === "production" ? "/site/vue-demo/" : "/", // 公共路径
indexPath: "index.html" , // 相对于打包路径index.html的路径
outputDir: process.env.outputDir || "dist", // "dist", 生产环境构建文件的目录
assetsDir: "static", // 相对于outputDir的静态资源(js、css、img、fonts)目录
lintOnSave: false, // 是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码
runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本
productionSourceMap: !IS_PROD, // 生产环境的 source map
parallel: require("os").cpus().length > 1, // 是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建。
pwa: {}, // 向 PWA 插件传递选项。
chainWebpack: config => {
config.resolve.symlinks(true); // 修复热更新失效
// 如果使用多页面打包,使用vue inspect --plugins查看html是否在结果数组中
config.plugin("html").tap(args => {
// 修复 Lazy loading routes Error
args[0].chunksSortMode = "none";
return args;
});
config.resolve.alias // 添加别名
.set("@", resolve("src"))
.set("@assets", resolve("src/assets"))
.set("@components", resolve("src/components"))
.set("@views", resolve("src/views"))
.set("@store", resolve("src/store"));
},
css: {
extract: IS_PROD,
requireModuleExtension: false,// 去掉文件名中的 .module
loaderOptions: {
// 给 less-loader 传递 Less.js 相关选项
less: {
// `globalVars` 定义全局对象,可加入全局变量
globalVars: {
primary: "#333"
}
}
}
},
devServer: {
overlay: { // 让浏览器 overlay 同时显示警告和错误
warnings: true,
errors: true
},
host: "localhost",
port: 8080, // 端口号
https: false, // https:{type:Boolean}
open: false, //配置自动启动浏览器
hotOnly: true, // 热更新
// proxy: "http://localhost:8080" // 配置跨域处理,只有一个代理
proxy: { //配置多个跨域
"/api": {
target: "http://172.11.11.11:7071",
changeOrigin: true,
// ws: true,//websocket支持
secure: false,
pathRewrite: {
"^/api": "/"
}
},
"/api2": {
target: "http://172.12.12.12:2018",
changeOrigin: true,
//ws: true,//websocket支持
secure: false,
pathRewrite: {
"^/api2": "/"
}
},
}
}
}
3、升级版
// vue.config.js
const path = require("path");
const CompressionWebpackPlugin = require("compression-webpack-plugin"); // 开启gzip压缩, 按需引用
const productionGzipExtensions = /.(js|css|json|txt|html|ico|svg)(?.*)?$/i; // 开启gzip压缩, 按需写入
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin; // 打包分析
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
const resolve = (dir) => path.join(__dirname, dir);
module.exports = {
publicPath: process.env.NODE_ENV === "production" ? "/site/vue-demo/" : "/", // 公共路径
indexPath: "index.html" , // 相对于打包路径index.html的路径
outputDir: process.env.outputDir || "dist", // "dist", 生产环境构建文件的目录
assetsDir: "static", // 相对于outputDir的静态资源(js、css、img、fonts)目录
lintOnSave: false, // 是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码
runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本
productionSourceMap: !IS_PROD, // 生产环境的 source map
parallel: require("os").cpus().length > 1, // 是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建。
pwa: {}, // 向 PWA 插件传递选项。
chainWebpack: config => {
config.resolve.symlinks(true); // 修复热更新失效
// 如果使用多页面打包,使用vue inspect --plugins查看html是否在结果数组中
config.plugin("html").tap(args => {
// 修复 Lazy loading routes Error
args[0].chunksSortMode = "none";
return args;
…
作者:MonkeySoft
篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/50778.html
个人跨境代购逐渐离场为跨境电商平台发展创造机会央广网北京1月5日消息(总台央广记者周益帆)此前有分析显示,2021年,65。3的用户认为自己使用跨境电商平台的频率有所增多根据天眼查的数据,2021年,我国新增跨境电商企业在5万
关于智慧移动电动车的机遇2007年,苹果开启了智慧手机的大浪潮2021年,特斯拉市值突破1兆美元,引爆了全球智慧电动车的新世代契机。未来十年,电动车的商机毫无疑问的,将比过去十年智慧手机的商机还要巨大!如
雷军放话一步步超越苹果,可小米手机为什么越卖越便宜?作者马志刚封面来源小米微博正式对标苹果,向苹果学习,一步一步超越苹果。12月28日晚间,在小米12新品发布会上,小米集团董事长兼CEO雷军一改往日侧面蹭苹果的遮掩,第一次大大方方向
ES6知识点ES6知识点变量声明变量值的结构模板字符串箭头函数变量声明1。let关键字let关键字用来声明变量,使let声明的变量有几个特点声明的变量有几个特点1。不允许重复声明2。块二级作用
世界女性科技群落(五)数字化黄金时代,东南亚女性都是隐藏的阿尔法图片来源视觉中国文脑极体当我们谈及亚洲最具增长活力的区域,以往总是将重点放在中国大陆。实际上,广泛的亚洲大陆还有许多区域在上演经济传奇,东南亚就是一个。目前,越南印度尼西亚柬埔寨和
今年冬天有点冷(一)2022年1月3日,一个朋友的教育机构正式给学生办理结课退费流程了。因为什么原因那?容我给您娓娓道来。大概在两年前,这个朋友因为热爱教育也觉得教育行业有发展前途,没有和家人商量的情
你认为当今社会,人类最牛B的发明是什么?钞票!人类为了它干出来了好多好多匪夷所思的事情来,无论政治思想,道德,法律,科技,文学,战争,比赛等等,都是通过金钱钞票的操控来实现的!电水泥抗生素都很牛B。很明显又简单,手机。我
商务部到2025年具备条件地区基本实现县县有中心乡乡有网点村村有服务商务部流通发展司国家邮政局市场监管司会同有关单位起草关于加快贯通县乡村电子商务体系和快递物流配送体系有关工作的通知(征求意见稿),现就有关工作目标主要任务保障措施及公平性等向社会公
华为Mate50Pro多优秀?5070mAh电池,HarmonyOS3正式版,没5G也买进入2022年,或许最值得期待的新机就是HUAWEIMate50系列了!为什么这样说呢?华为其实还是国产中热度最高的手机品牌,很多人其实都在等着华为发布5G新机。而Mate系列是华
特斯拉在新疆开店,为何让美国政客慌张?来源中央广电总台国际在线编辑赵妍因近日在中国新疆地区新开一家展销厅,美国车企特斯拉遭到本国政客的多番攻击。美反华政客卢比奥,也是所谓维吾尔强迫劳动预防法案主要推动者第一时间在社交媒
新能源电池寿命锂电池有两种不同类型现在的新能源车基本上用的都是锂离子电池。但根据其正极材料不同,锂离子电池也分为不同的类型。它用在新能源动力电池上有两种,一种是磷酸锂铁电池。另一种是包含有钴锰镍