这个webpack.config.js使用了webpack-encore,并用terser进行了minify,我可以成功地编译,但是绝对没有任何东西被minify,注解和完整的变量名仍然存在。
var Encore = require('@symfony/webpack-encore');
const TerserPlugin = require('terser-webpack-plugin');
Encore
// the project directory where compiled assets will be stored
.setOutputPath('public/build/')
.setPublicPath('/build')
// the public path used by the web server to access the previous directory
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.enableReactPreset()
.enableSassLoader()
.enableLessLoader()
.autoProvidejQuery()
.disableSingleRuntimeChunk()
.addEntry('app_prescription', [
'./assets/js/prescription/app_prescription.js'
])
.addLoader({
test: /\.jsx?$/,
exclude: /node_modules/,
loader: "babel-loader?cacheDirectory"
})
;
if( Encore.isProduction() ) {
Encore.addPlugin(new TerserPlugin({parallel: true,cache:true}) );
}
module.exports = function(env) {
Encore.enableVersioning();
const config = Encore.getWebpackConfig() ;
if( Encore.isProduction() ) {
config.optimization = {
minimizer: [new TerserPlugin({parallel: true,cache:true})]
}
}
return config ;
}
这个代码有什么问题?
3条答案
按热度按时间osh3o9ms1#
对于2021年及以后偶然发现这一点的每一个人,迟来的答案是:
使用Encore的
configureTerserPlugin
方法:lkaoscv72#
根据https://github.com/webpack-contrib/terser-webpack-plugin#extractcomments,为避免生成
*.LICENSE.txt
文件,应使用以下方法选项:42fyovps3#