Ai
1 Star 1 Fork 1

WHFTina/cesium-vue

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
vue.config.js 3.85 KB
一键复制 编辑 原始数据 按行查看 历史
Fank 提交于 2021-02-19 20:44 +08:00 . warning display
const webpack = require('webpack')
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const cesiumSource = 'node_modules/cesium/Build/Cesium'
module.exports = {
publicPath: './',
assetsDir: './static',
productionSourceMap: false,
lintOnSave: true, // 是否开启eslint
devServer: {
open: true
},
chainWebpack(config) {
config.optimization.minimize(true)
},
configureWebpack: (config) => {
let plugins = []
if (process.env.NODE_ENV === 'production') {
plugins = [
new webpack.DefinePlugin({
CESIUM_BASE_URL: JSON.stringify('BE2/')
}),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Workers'), to: 'BE2/Workers' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Assets'), to: 'BE2/Assets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'ThirdParty'), to: 'BE2/ThirdParty' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Widgets'), to: 'BE2/Widgets' }])
]
} else {
plugins = [
new webpack.DefinePlugin({
CESIUM_BASE_URL: JSON.stringify('BE2/')
}),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Workers'), to: 'BE2/Workers' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Assets'), to: 'BE2/Assets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'ThirdParty'), to: 'BE2/ThirdParty' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Widgets'), to: 'BE2/Widgets' }])
]
}
return {
module: {
unknownContextCritical: false,
rules: [
{
test: /\.js$/,
enforce: 'pre',
include: path.resolve(__dirname, 'node_modules/cesium/Source'),
sideEffects: false,
use: [
{
loader: 'strip-pragma-loader',
options: {
pragmas: {
debug: false
}
}
}
]
}
]
},
optimization: {
usedExports: true,
splitChunks: {
maxInitialRequests: Infinity,
minSize: 0,
// maxSize: 250000,
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
priority: -10,
chunks: 'all',
name(module) {
const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]
return `npm.${packageName.replace('@', '')}`
}
},
commons: {
name: 'Cesium',
test: /[\\/]node_modules[\\/]cesium/,
priority: 10,
chunks: 'all',
// minChunks: 1,
filename: "BE2/BE2.js"
}
}
}
},
output: {
sourcePrefix: ' '
},
amd: {
toUrlUndefined: true
},
resolve: {
alias: {
vue$: 'vue/dist/vue.esm.js',
'@': path.resolve('src')
// 'cesium': path.resolve(__dirname, cesiumSource)
}
},
node: {
fs: 'empty',
Buffer: false,
http: 'empty',
https: 'empty',
zlib: 'empty'
},
plugins: plugins,
// 关闭 webpack 的性能提示
// performance: {
// hints:false
// }
// //或者
// 警告 webpack 的性能提示
performance: {
hints: process.env.NODE_ENV === 'production' ? "warning" : false,
// 入口起点的最大体积
maxEntrypointSize: 50000000,
// 生成文件的最大体积
maxAssetSize: 30000000,
// 只给出 js 文件的性能提示
assetFilter: function (assetFilename) {
return assetFilename.endsWith('.js')
}
}
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/hfting/cesium-vue.git
git@gitee.com:hfting/cesium-vue.git
hfting
cesium-vue
cesium-vue
master

搜索帮助