2025-08-29 14:57:13 +08:00
|
|
|
|
const { defineConfig } = require('@vue/cli-service')
|
|
|
|
|
|
const path = require('path')
|
2025-09-11 16:14:55 +08:00
|
|
|
|
const Components = require('unplugin-vue-components/webpack')
|
|
|
|
|
|
const { AntDesignVueResolver } = require('unplugin-vue-components/resolvers')
|
2025-08-29 12:06:02 +08:00
|
|
|
|
module.exports = defineConfig({
|
|
|
|
|
|
transpileDependencies: true,
|
2025-08-29 14:57:13 +08:00
|
|
|
|
publicPath: '/',
|
2025-08-29 12:06:02 +08:00
|
|
|
|
// 输出文件目录
|
2025-08-29 14:57:13 +08:00
|
|
|
|
outputDir: 'dist',
|
2025-08-29 12:06:02 +08:00
|
|
|
|
|
|
|
|
|
|
// 静态资源目录
|
2025-08-29 14:57:13 +08:00
|
|
|
|
assetsDir: 'static',
|
2025-08-29 12:06:02 +08:00
|
|
|
|
devServer: {
|
2025-09-04 11:12:20 +08:00
|
|
|
|
proxy: {
|
|
|
|
|
|
'/api': {
|
|
|
|
|
|
// 代理前缀,可以自定义(如 '/api')
|
2025-09-17 15:31:35 +08:00
|
|
|
|
target: 'http://192.168.0.187:19800', // 目标服务器地址
|
2025-09-04 11:12:20 +08:00
|
|
|
|
changeOrigin: true, // 是否改变请求源(跨域必备)
|
|
|
|
|
|
pathRewrite: {
|
|
|
|
|
|
'^/api': '' // 重写路径,去掉 '/api' 前缀
|
2025-08-29 14:57:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-29 12:06:02 +08:00
|
|
|
|
},
|
|
|
|
|
|
css: {
|
|
|
|
|
|
loaderOptions: {
|
|
|
|
|
|
scss: {
|
2025-08-29 15:48:33 +08:00
|
|
|
|
additionalData: `
|
2025-09-01 16:55:44 +08:00
|
|
|
|
@import "@/style/color.scss";
|
|
|
|
|
|
@import "@/style/antd.scss";
|
2025-08-29 15:48:33 +08:00
|
|
|
|
` //在每个 .scss 文件顶部自动添加这行代码,无需手动导入
|
2025-09-10 09:23:47 +08:00
|
|
|
|
},
|
|
|
|
|
|
less: {
|
|
|
|
|
|
lessOptions: {
|
2025-09-11 16:14:55 +08:00
|
|
|
|
modifyVars: {
|
|
|
|
|
|
//这是配置css主题色
|
|
|
|
|
|
'primary-color': '#143d7d'
|
|
|
|
|
|
},
|
|
|
|
|
|
javascriptEnabled: true
|
2025-09-10 09:23:47 +08:00
|
|
|
|
}
|
2025-08-29 14:57:13 +08:00
|
|
|
|
}
|
2025-08-29 12:06:02 +08:00
|
|
|
|
},
|
|
|
|
|
|
extract: {
|
2025-09-04 13:42:48 +08:00
|
|
|
|
ignoreOrder: true // 忽略 CSS 顺序警告
|
2025-08-29 14:57:13 +08:00
|
|
|
|
}
|
2025-08-29 12:06:02 +08:00
|
|
|
|
},
|
2025-09-10 09:23:47 +08:00
|
|
|
|
|
2025-08-29 12:28:33 +08:00
|
|
|
|
// webpack相关配置
|
2025-08-29 12:06:02 +08:00
|
|
|
|
configureWebpack: {
|
2025-08-29 12:28:33 +08:00
|
|
|
|
// 自定义打包入口
|
|
|
|
|
|
|
|
|
|
|
|
// 扩展 webpack 配置
|
|
|
|
|
|
plugins: [
|
2025-09-11 16:14:55 +08:00
|
|
|
|
Components({
|
|
|
|
|
|
resolvers: [
|
|
|
|
|
|
AntDesignVueResolver({
|
|
|
|
|
|
resolveIcons: true, // 自动按需加载图标,
|
|
|
|
|
|
importStyle: false //不单独导入样式,对样式进行全局引入
|
|
|
|
|
|
})
|
|
|
|
|
|
],
|
|
|
|
|
|
dts: true // 生成类型声明
|
|
|
|
|
|
})
|
2025-08-29 12:28:33 +08:00
|
|
|
|
],
|
2025-08-29 12:06:02 +08:00
|
|
|
|
resolve: {
|
|
|
|
|
|
alias: {
|
2025-08-29 14:57:13 +08:00
|
|
|
|
'@': path.join(__dirname, 'src')
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-29 12:06:02 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码
|
2025-08-29 14:57:13 +08:00
|
|
|
|
lintOnSave: process.env.NODE_ENV !== 'production',
|
2025-08-29 12:06:02 +08:00
|
|
|
|
|
|
|
|
|
|
// 是否使用包含运行时编译器的 Vue 构建版本
|
|
|
|
|
|
runtimeCompiler: false,
|
|
|
|
|
|
|
|
|
|
|
|
// 生产环境的 source map
|
|
|
|
|
|
productionSourceMap: true,
|
|
|
|
|
|
|
|
|
|
|
|
// 第三方插件配置
|
|
|
|
|
|
pluginOptions: {
|
|
|
|
|
|
// ...
|
2025-08-29 14:57:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
})
|