代码拉取完成,页面将自动刷新
const { defineConfig } = require('@vue/cli-service')
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)
}
module.exports = defineConfig({
transpileDependencies: true,
configureWebpack: (config) => {
config.plugins.push(
AutoImport({
resolvers: [ElementPlusResolver()]
})
)
config.plugins.push(
Components({
resolvers: [ElementPlusResolver()]
})
)
},
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()
},
devServer: {
https: false,
port: 3000,
// host: 'localhost',
// open: true,
// hotOnly: false,
proxy: {
'/api': {
target: 'http://127.0.0.1:8088/admin/',
crossorigin: true,
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/prod-api': {
target: 'http://127.0.0.1:8088/admin/',
crossorigin: true,
changeOrigin: true,
pathRewrite: {
'^/prod-api': ''
}
}
}
},
css: {
loaderOptions: {
sass: {
// 8版本用prependData:
// 12版本用additionalData:
additionalData: `
@import "@/styles/variables.scss"; // scss文件地址
@import "@/styles/mixin.scss"; // scss文件地址
`
}
}
}
})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。