代码拉取完成,页面将自动刷新
同步操作将从 七星瓢虫/thingsboard-ui-vue 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const webpack = require('webpack')
const path = require('path')
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin')
const AddAssetHtmlPlugin = require('add-asset-html-webpack-plugin')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']
const isProduction = process.env.NODE_ENV === 'production'
const { library } = require('./dll.config')
const proxyIp = require('./src/config/proxyIp')
const proxy = {}
for (const key in proxyIp) {
proxy[`/${key}`] = {
target: proxyIp[key],
changeOrigin: true,
secure: true,
pathRewrite: {
[`^/${key}`]: ''
}
}
}
module.exports = {
// 部署应用时的基本 URL
publicPath: isProduction ? './' : '/',
// build时构建文件的目录,构建时传入 --no-clean 可关闭该行为
outputDir: 'dist',
// build时放置生成的静态资源(js、css、img、fonts)的(相对于outputDir的)目录
assetsDir: '',
// 指定生成的 index.html 的输出路劲(相对于outputDir)。也可以是一个绝对路劲。
indexPath: 'index.html',
// 默认在生成的静态资源文件名中包含hash以控制缓存
filenameHashing: true,
// 是否启用eslint
lintOnSave: !isProduction,
// 设为false打包时不生成.map文件
productionSourceMap: false,
css: {
loaderOptions: {
scss: {
prependData: '@import "~@/assets/scss/global.scss";'
}
}
},
devServer: {
open: true,
host: '0.0.0.0',
port: 8080,
proxy
},
configureWebpack: {
resolve: {
alias: {
'vue$': 'vue/dist/vue.js',
'@img': '@/assets/images',
'@echarts': '@/components/ECharts'
}
},
optimization: {
runtimeChunk: 'single',
splitChunks: {
chunks: 'all',
maxInitialRequests: Infinity,
minSize: 20000,
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name (module) {
const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]
return `npm.${packageName.replace('@', '')}`
}
}
}
}
},
plugins: [
new MonacoWebpackPlugin({
languages: ['javascript', 'css', 'scss', 'html', 'json']
}),
...Object.keys(library).map(name => {
return new webpack.DllReferencePlugin({
context: '.',
manifest: require(`./public/dll/${name}-manifest.json`)
})
}),
new AddAssetHtmlPlugin(Object.keys(library).map(name => {
return {
filepath: require.resolve(path.resolve(`./public/dll/${name}.dll.js`)),
includeSourcemap: false,
publicPath: './dll',
outputPath: './dll'
}
})),
// 配置compression-webpack-plugin压缩
new CompressionWebpackPlugin({
algorithm: 'gzip',
test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
threshold: 10240,
minRatio: 0.8
})
]
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。