vue 学习 cli3常用配置
---恢复内容开始---
cli3以后,构建的项目更加的简洁,配置文件也没有向cli2那样暴漏出来,但这并不代表cli3是不可配置的,我们只需要在根目录下添加一个vue.config.js作为项目的配置文件,就可以愉快的配置我们的项目了

以下就是本人常用的配置项,如果想了解更多的可以去https://cli.vuejs.org/zh/config/查看
let path = require("path");
module.exports = {
// https://api.blockbcd.top/index/
lintOnSave: false,//是否在每次保存时使用eslint检查,这个对语法的要求比较严格,对自己有要求的同学可以使用
productionSourceMap: false,//不允许打包时生成项目来源映射文件,在生产环境下可以显著的减少包的体积
//注 Source map的作用:针对打包后的代码进行的处理,就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码。这无疑给开发者带来了很大方便。
publicPath: "./",//配置为相对路径,这样打包之后的包才能正常使用
css: {
extract: true,//是否启用css分离插件,默认是true,如果不启用css样式分离插件,打包出来的css是通过内联样式的方式注入至dom中的,详细了解https://www.cnblogs.com/xiaokebb/p/8274889.html
sourceMap: false,//效果同上
modules: false,// // 为所有的 CSS 及其预处理文件开启 CSS Modules。
// 这个选项不会影响 `*.vue` 文件。
},
devServer: { //配置开发服务器
host: "0.0.0.0",
hot: true,//是否启用热加载,就是每次更新代码,是否需要重新刷新浏览器才能看到新代码效果
port: "8083",//服务启动端口
open: false,//是否自动打开浏览器默认为false
proxy: { //配置http代理
"/@url": { //如果ajax请求的地址是https://api.yuming.com/api1那么你就可以在jajx中使用/@url/api1路径,其请求路径会解析
// https://api.yuming.com/@url/api1,当然你在浏览器上开到的还是http://localhost:8080/@url/api1;
target: "https://api.blockbcd.top/index/",
changeOrigin: true,//是否允许跨域,这里是在开发环境会起作用,但在生产环境下,还是由后台去处理,所以不必太在意
pathRewrite: {
"/@url": "" // 把解析出来的接口地址中的多出来的@url替换成空字符,其目的就是去掉多余的它,不然地址上多了一个@url时无法正确访问的。
//当然如果你的接口地址上本来就有@url,解析之后认识争取的
}
},
"/url2": {//可以配置多个代理,匹配上那个就使用哪种解析方式
target: "https://api2",
// ...
}
}
},
pluginOptions: {
'style-resources-loader': {//定义一个全局的less文件,把公共样式变量放入其中,这样每次使用的时候就不用重新引用了
preProcessor: 'less',
patterns: [
'./src/assets/public.less'
]
}
},
chainWebpack(config) { //添加一个路径别名 假设有在assets/img/menu/目录下有十张图片,如果全路径require("/assets/img/menu/img1.png")
//去引入在不同的层级下实在是太不方便了,这时候向下方一样定义一个路劲别名就很实用了
config.resolve.alias
.set("assets", path.join(__dirname, "/src/assets"))//添加多个别名支持链式调用
.set("img", path.join(__dirname, "/src/assets/img/menu"))//引入图片时只需require("img/img1.png");即可
}
}
---恢复内容结束---
vue 学习 cli3常用配置的更多相关文章
- Vue学习笔记(五)——配置开发环境及初建项目
前言 在上一篇中,我们通过初步的认识,简单了解 Vue 生命周期的八个阶段,以及可以应用在之后的开发中,针对不同的阶段的钩子采取不同的操作,更好的实现我们的业务代码,处理更加复杂的业务逻辑. 而在这一 ...
- vue项目的常用配置代码
{ // 针对vue的格式化配置----依赖eslint.prettier.vetur等插件 // 强制单引号 "prettier.singleQuote": true, &quo ...
- vue学习之环境配置
最近在学习vue,就顺手记录一下... 1. 安装 nodejs https://nodejs.org -->注:安装LTS的(LTS为长期稳定版本) 在cmd中输入 node -v 如果显 ...
- vue.config.js常用配置
使用vue-cli3.0搭建项目比之前更简洁,没有了build和config文件夹. vue-cli3的一些服务配置都迁移到CLI Service里面了,对于一些基础配置和一些扩展配置需要在根目录新建 ...
- vue中 aixos 常用配置 aixos拦截器 interceptors的使用
axios的配置 公共路径配置 拦截器的使用 //这个文件是根组件 new Vue,所有所需的模块和对象都要在new Vue之前配置好 ...
- vue学习之三常用命令
一.插值 1.1 +号运用 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- vue.eslintrc.js常用配置
vue.eslintrc.js module.exports = { root: true, env: { node: true }, extends: [ "plugin:vue/esse ...
- Vue学习之Babel配置(十六)
一.Babel: (官网:https://www.babeljs.cn/docs/) 1.Babel 是一个 JavaScript 编译器: 2.Babel 是一个工具链,主要用于将 ECMAScr ...
- Idea_学习_07_Idea常用配置
二.参考资料 1.Android Studio 入门级教程(一)
随机推荐
- JSP界面引用百度地图获取坐标
需求: 需要在JSP界面上引用百度地图,文本框中输入地址之后,自动拿到在百度地图上的经纬度 解决步骤: 1.引入百度地图api: head中进行引用<script type="text ...
- ie中datepicker赋值不成功
解决办法:删除placeholder即可 比如我代码如下:
- bypass_safedog
1.SQL注入 手工bypass要点 先通过破坏关键字测试出拦截规则 之后进行针对性绕过 1.Mysql 1.1.联合注入 0x01 and绕过 直接 and 1=1 直接就会被拦截 在数值的前面加特 ...
- three.js低版本添加文字(如71版本)
研究了半天,最后终于加载成功了,记录一下three.js 71版本的文字加载,下面开始整个过程 首先,将ttf字体转换成js文件 源码版: https://github.com/gero3/facet ...
- vue-cli 3.0版本,配置代理Proxy,不同环境不同target(生产环境,uat环境和本地环境的配置)
1.在项目的的根目录下新建vue.config.js 2.新建一个config包,里面存放不同的环境文件,里面包含:pro.env.js(生产环境配置),uat.env.js(测试环境配置),dev. ...
- 排序+并查集——cf1213F
/* 有向边(pi,pi+1),形成链后进行dfs,求出dfs序 一个联通块内的元素必须是同一个字符,如果最后的联通块个数<k,说明不行 */ #include<bits/stdc++.h ...
- 经典sql题练习50题
-- 1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 select a.* ,b.s_score as 01_score,c.s_score a ...
- Codeforces gym102222 C. Caesar Cipher 签到
题意: 给定一对用凯撒密码加密的明文和密文,再给你一个密文,让你解密出明文,保证有唯一解. 题解: 对凯撒密码的已知明文攻击,签到题. #include<iostream> using n ...
- solidity代码
http://www.tryblockchain.org/ 教你如何舒服的看solidity代码 最近智能合约随着区块链技术的发展越发收到广大技术人员的重视! 其中最被看好的以太坊就是一个提供智能合约 ...
- yield列表反转 islice切片(2.6)
yield列表反转 islice切片 列表反转 l1 = [i for i in range(10)] print(l1) print(l1[::2]) l1.reverse() # 注: pytho ...