sgxt_web/vue.config.js

91 lines
2.2 KiB
JavaScript
Raw Permalink Normal View History

2025-04-12 14:54:02 +08:00
const path = require("path");
function resolve(dir) {
return path.join(__dirname, dir);
}
const serverHost = "http://127.0.0.1:8006"
module.exports = {
publicPath: "./",
outputDir: "ylth",
assetsDir: "static",
lintOnSave: false, //process.env.NODE_ENV === 'development',
productionSourceMap: false,
devServer: {
port: 9528,
//open: true,
hot: true,
overlay: {
warnings: false,
errors: true
},
// webpack devServer 提供了代理的功能
proxy: {
// 当地址中有/api的时候会触发代理机制
[process.env.VUE_APP_GATEWAY_API]: {
// target: process.env.VUE_APP_GATEWAY_BASE_URL,
target: serverHost,
// pathRewrite: { "^/api": "" },
changeOrigin: true, // 是否跨域
logLevel: "debug",
onProxyReq(proxyReq, req, res) {
proxyReq.setHeader(
"X-Forwarded-host",
process.env.VUE_APP_GATEWAY_HOST
);
proxyReq.setHeader("Connection", "Keep-Alive"); //设置长连接
}
},
"/mosty-api": {
target: serverHost,
changeOrigin: true,
logLevel: "debug"
},
}
},
chainWebpack(config) {
// 设置 svg-sprite-loader
// config 为 webpack 配置对象
// config.module 表示创建一个具名规则,以后用来修改规则
config.module
// 规则
.rule("svg")
// 忽略
.exclude.add(resolve("src/icons"))
// 结束
.end();
// config.module 表示创建一个具名规则,以后用来修改规则
config.module
// 规则
.rule("icons")
// 正则,解析 .svg 格式文件
.test(/\.svg$/)
// 解析的文件
.include.add(resolve("src/icons"))
// 结束
.end()
// 新增了一个解析的loader
.use("svg-sprite-loader")
// 具体的loader
.loader("svg-sprite-loader")
// loader 的配置
.options({
symbolId: "icon-[name]"
})
// 结束
.end();
//更改浏览器标题
config.plugin("html").tap((args) => {
args[0].title = "公安";
return args;
});
},
css: {
loaderOptions: {
sass: {
prependData: `@import "@/styles/index.scss";`
}
}
}
};