Files
tra-app/vue.config.js
T
2025-12-12 13:46:02 +08:00

81 lines
2.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const { defineConfig } = require('@vue/cli-service');
const path = require('path');
module.exports = defineConfig({
// 基础路径(根据你的部署环境调整)
publicPath: './',
// 输出目录
outputDir: 'dist',
// 静态资源目录
assetsDir: 'static',
// 关闭 eslint 校验(可选,根据项目需求)
lintOnSave: false,
// webpack 配置
configureWebpack: {
// 配置路径别名(和 Vite 的 alias 功能一致)
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
'@/components': path.resolve(__dirname, 'src/components'),
'@/utils': path.resolve(__dirname, 'src/utils')
}
},
// 优化打包(可选)
optimization: {
minimizer: [
// 已安装 terser,可配置压缩
require('terser-webpack-plugin')({
terserOptions: {
compress: {
drop_console: process.env.NODE_ENV === 'production', // 生产环境移除 console
drop_debugger: true // 移除 debugger
}
}
})
]
},
// 解决可能的依赖冲突
resolve: {
extensions: ['.vue', '.js', '.jsx', '.json'],
fallback: {
"crypto": require.resolve("crypto-js"),
"text-encoding": require.resolve("text-encoding")
}
}
},
// 链式修改 webpack 配置
chainWebpack: config => {
// 处理 Vue 文件
config.module
.rule('vue')
.test(/\.vue$/)
.use('vue-loader')
.loader('vue-loader')
.end();
// 处理 SCSS(项目依赖了 sass,需配置 loader
config.module
.rule('scss')
.test(/\.scss$/)
.use('sass-loader')
.loader('sass-loader')
.options({
implementation: require('sass')
})
.end();
},
// 环境变量配置(适配你的多环境脚本)
devServer: {
// 开发服务器配置(如代理、端口等)
port: 8080,
open: true,
proxy: {
// 示例:配置接口代理(根据你的项目需求调整)
'/api': {
target: 'https://your-api-domain.com',
changeOrigin: true,
pathRewrite: { '^/api': '' }
}
}
}
});