dataease-dm/frontend/vue.config.js

91 lines
2.1 KiB
JavaScript
Raw Normal View History

2021-03-03 15:06:52 +08:00
'use strict'
const path = require('path')
const defaultSettings = require('./src/settings.js')
const CopyWebpackPlugin = require('copy-webpack-plugin')
2021-10-25 17:02:36 +08:00
// const CompressionPlugin = require('compression-webpack-plugin')
2021-03-03 15:06:52 +08:00
function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || 'vue Admin Template' // page title
const port = process.env.port || process.env.npm_config_port || 9528 // dev port
module.exports = {
2021-03-08 13:45:22 +08:00
productionSourceMap: true,
// 使用mock-server
2021-03-03 15:06:52 +08:00
devServer: {
port: port,
2021-05-12 16:19:41 +08:00
proxy: {
'^(?!/login)': {
target: 'http://localhost:8081/',
ws: false
}
},
2021-03-03 15:06:52 +08:00
open: true,
overlay: {
warnings: false,
errors: true
},
before: require('./mock/mock-server.js')
},
2021-03-25 18:58:05 +08:00
pages: {
index: {
entry: 'src/main.js',
template: 'public/index.html',
filename: 'index.html'
}
},
2021-03-03 15:06:52 +08:00
configureWebpack: {
name: name,
2021-03-08 13:45:22 +08:00
devtool: 'source-map',
2021-03-03 15:06:52 +08:00
resolve: {
alias: {
'@': resolve('src')
}
},
plugins: [
new CopyWebpackPlugin([
{
from: path.join(__dirname, 'static'),
to: path.join(__dirname, 'dist/static')
}
])
]
2021-03-03 15:06:52 +08:00
},
2021-03-08 13:45:22 +08:00
chainWebpack: config => {
config.module.rules.delete('svg') // 删除默认配置中处理svg,
// const svgRule = config.module.rule('svg')
// svgRule.uses.clear()
2021-03-03 15:06:52 +08:00
config.module
2021-03-08 13:45:22 +08:00
.rule('svg-sprite-loader')
2021-03-03 15:06:52 +08:00
.test(/\.svg$/)
2021-03-08 13:45:22 +08:00
.include
.add(resolve('src/icons')) // 处理svg目录
2021-03-03 15:06:52 +08:00
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
2021-10-25 17:02:36 +08:00
if (process.env.NODE_ENV === 'production') {
/* config.plugin('compressionPlugin').use(new CompressionPlugin({
test: /\.(js|css|less)$/, // 匹配文件名
threshold: 10240, // 对超过10k的数据压缩
minRatio: 0.8,
deleteOriginalAssets: true // 删除源文件
})) */
}
2021-10-08 17:22:21 +08:00
},
css: {
loaderOptions: {
sass: {
prependData: `@import "@/style/index.scss"`
}
}
2021-03-08 13:45:22 +08:00
}
2021-03-03 15:06:52 +08:00
2021-03-08 13:45:22 +08:00
}