Javascript 使用TerserWebPackagePlugin将SourceMapBundle.js.map文件存储在特定位置
我想要什么 使用TerserPlugin将sourceMapJavascript 使用TerserWebPackagePlugin将SourceMapBundle.js.map文件存储在特定位置,javascript,webpack,source-maps,terser,Javascript,Webpack,Source Maps,Terser,我想要什么 使用TerserPlugin将sourceMapsomething.js.map文件存储到特定位置。 我已经找到了一些关于如何自定义缩小的基本说明,但我无法使用它 这是我在webpack.config.ts中的优化对象: optimization: { splitChunks: ifProduction({ chunks: 'all', automaticNameDelimiter: '.' }, false), runtimeChunk: ifProdu
something.js.map
文件存储到特定位置。
我已经找到了一些关于如何自定义缩小的基本说明,但我无法使用它
这是我在webpack.config.ts中的优化对象:
optimization: {
splitChunks: ifProduction({
chunks: 'all',
automaticNameDelimiter: '.'
}, false),
runtimeChunk: ifProduction(true, false),
minimize: true,
minimizer: [
ifProduction(new TerserPlugin({
parallel: true,
sourceMap: true,
minify: 'see value below -->>',
terserOptions: {
output: {
ascii_only: true,
beautify: false
},
compress: {
pure_getters: true,
join_vars: false
}
}
}))
]
}
这是我的minify函数,但我就是找不到一种方法来“导出”这个.js.map。或者不明白它是怎么工作的
minify: (file, sourceMap) => {
// https://github.com/mishoo/UglifyJS2#minify-options
const uglifyJsOptions: any = {
/* your `uglify-js` package options */
};
if (sourceMap) {
uglifyJsOptions.sourceMap = {
content: sourceMap,
root: "http://localhost:7000",
url: "out.js.map"
};
}
return require('uglify-js').minify(file, uglifyJsOptions);
}
devtool:ifNotTest(ifDevelopment('eval','sourcemap'))
我花了两天时间试图弄清楚minify函数是如何工作的,并问自己为什么它们仍然引用uglify js
。我认为terser可以有一些选项来定制sourceMap,但webpack的文档在这种情况下没有多大用处:
您可以使用网页包输出设置“sourceMapFilename”来指定sourcemap文件名和位置 例如:
output: {
filename: 'assets/js/[name].[chunkhash].js',
chunkFilename: 'assets/js/[name].[chunkhash].js',
path: path.resolve(__dirname, 'dist'),
sourceMapFilename: 'assets/js/maps/[name].[chunkhash].js.map'
}