chatglm/vue.config.js
2024-12-21 23:45:23 +08:00

56 lines
1.8 KiB
JavaScript

const path = require('path'); // 导入 Node.js 中的 path 模块
// const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); // 导入 webpack-bundle-analyzer 插件
const resolve = dir => path.join(__dirname, '.', dir); // 定义一个函数用于解析路径
module.exports = {
parallel:false,
chainWebpack: config => {
if (process.env.NODE_ENV === 'production') {
config.plugins.delete('prefetch'); // 删除 webpack 配置中的 prefetch 插件,以便懒加载生效
}
}, // 配置别名
configureWebpack: {
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
'@/components': path.resolve(__dirname, 'src/components'), // 设置 @/components 别名
},
},
},
lintOnSave: false, // 关闭保存时的 eslint 检查
devServer: {
proxy: {
'/api': { // 配置代理规则,将请求转发至 http://localhost:8880
target: 'http://localhost:8887',
changeOrigin: true, // 是否改变源地址
},
},
},
pluginOptions: {
'style-resources-loader': { // 配置全局样式资源加载器
preProcessor: 'stylus', // 使用 stylus 预处理器
patterns: [
resolve('./src/style/mixins.styl'), // 导入全局混合文件
resolve('./src/style/variables.styl'), // 导入全局变量文件
],
injector: 'prepend', // 插入到文件的最前面
},
},
css: {
loaderOptions: {
less: {
lessOptions: {
javascriptEnabled: true, // 启用 Less 编译时的 JavaScript 支持
modifyVars: { // 自定义 Less 变量
'@primary-color': '#2f54eb', // 主题色
'@success-color': '#36b777', // 成功状态颜色
'@border-radius-base': '2px', // 边框圆角半径
},
},
},
},
},
};