97 lines
2.3 KiB
JavaScript
97 lines
2.3 KiB
JavaScript
const AutoImport = require('unplugin-auto-import/webpack')
|
|
const Components = require('unplugin-vue-components/webpack')
|
|
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
|
|
|
|
const path = require('path')
|
|
function resolve(dir) {
|
|
return path.join(__dirname, dir)
|
|
}
|
|
const webpack = require('webpack')
|
|
|
|
module.exports = {
|
|
// 按需引入 element-plus
|
|
configureWebpack: (config) => {
|
|
config.plugins.push(
|
|
AutoImport({
|
|
resolvers: [ElementPlusResolver()]
|
|
})
|
|
)
|
|
config.plugins.push(
|
|
Components({
|
|
resolvers: [ElementPlusResolver()]
|
|
})
|
|
)
|
|
},
|
|
// 设置 svg-sprite-loader
|
|
chainWebpack(config) {
|
|
// 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('ignore')
|
|
.use(new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn$/))
|
|
config.module
|
|
.rule('icons')
|
|
.test(/\.svg$/)
|
|
.include.add(resolve('src/icons'))
|
|
.end()
|
|
.use('svg-sprite-loader')
|
|
.loader('svg-sprite-loader')
|
|
.options({
|
|
symbolId: 'icon-[name]'
|
|
})
|
|
.end()
|
|
},
|
|
devServer: {
|
|
https: false,
|
|
hot: false,
|
|
proxy: {
|
|
'/api': {
|
|
// 网上找的模拟接口
|
|
target: 'https://lianghj.top:8888/api/private/v1/',
|
|
changeOrigin: true,
|
|
pathRewrite: {
|
|
'^/api': ''
|
|
}
|
|
}
|
|
}
|
|
},
|
|
css: {
|
|
loaderOptions: {
|
|
sass: {
|
|
// 12版本用 additionalData:
|
|
additionalData: `
|
|
@import "@/styles/variables.scss";
|
|
@import "@/styles/mixin.scss";
|
|
`
|
|
}
|
|
}
|
|
}
|
|
}
|