43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
const path = require('path')
|
||
|
const isDev = process.env.NODE_ENV === 'development'
|
||
|
const isLibrary = process.env.NODE_ENV === 'library'
|
||
|
|
||
|
const WebpackDynamicPublicPathPlugin = require('webpack-dynamic-public-path')
|
||
|
|
||
|
module.exports = {
|
||
|
publicPath: isDev ? '' : './dist',
|
||
|
outputDir: '../dist',
|
||
|
lintOnSave: false,
|
||
|
productionSourceMap: false,
|
||
|
filenameHashing: false,
|
||
|
transpileDependencies: ['yjs', 'lib0'],
|
||
|
chainWebpack: config => {
|
||
|
// 移除 preload 插件
|
||
|
config.plugins.delete('preload')
|
||
|
// 移除 prefetch 插件
|
||
|
config.plugins.delete('prefetch')
|
||
|
// 支持运行时设置public path
|
||
|
if (!isDev) {
|
||
|
config
|
||
|
.plugin('dynamicPublicPathPlugin')
|
||
|
.use(WebpackDynamicPublicPathPlugin, [
|
||
|
{ externalPublicPath: 'window.externalPublicPath' }
|
||
|
])
|
||
|
}
|
||
|
// 给插入html页面内的js和css添加hash参数
|
||
|
if (!isLibrary) {
|
||
|
config.plugin('html').tap(args => {
|
||
|
args[0].hash = true
|
||
|
return args
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
configureWebpack: {
|
||
|
resolve: {
|
||
|
alias: {
|
||
|
'@': path.resolve(__dirname, './src/')
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|