Vue-cli3 搭建的项目,之所以界面想对之前较为简洁,因为webpack的配置均被隐藏了,当你需要覆盖原有的配置时,则需要在项目的根目录下,新建vue.config.js文件,来设置新的配置。
一、创建vue.config.js
vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。
我采用的是在根目录中创建 vue.config.js
主要是用来配置以下几项:
1)各种路径:主要是部署应用包时的基本 URL
2)css相关配置:主要是全局使用公共的scss样式文件
3)webpack-dev-server 相关配置:主要是本地访问端口号、每次运行是否自动打开浏览器、proxy设置代理(解决跨域)等等。
…
二、vue.config.js核心代码:
const path = require("path")
const webpack = require('webpack')
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
publicPath: '/demo-weekly/front-end/',
assetsDir: 'static',
lintOnSave: true,
productionSourceMap: false,
css:{
extract: true,
sourceMap: false,
loaderOptions: {
sass: {
data: `@import "./src/assets/styles/globals.scss";`
}
},
modules: false
},
devServer:{
port:8002,
open:true,
https:false,
overlay: {
warnings: true,
errors: true
},
proxy: {
'/api': {
target: 'http://localhost:3002', // 接口域名
ws: true, // 是否启用websockets
changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
pathRewrite: {
'^/api': '' // 修改路径
}
}
}
},
chainWebpack: config => {
config.resolve.alias
.set("@", resolve("./src"))
},
configureWebpack: {
performance: {
hints:false
}
},
// 构建时开启多进程处理 babel 编译
parallel: require('os').cpus().length > 1,
// 第三方插件配置
pluginOptions: {}
}
三、项目链接
周报管理系统git仓库链接:nodeJs工作周报后台管理系统OA模板