我的 React 项目中的一个节点模块使用 vm.runincontext 并且此代码在缩小时无法运行。我目前的解决方案是关闭缩小,它只是使加载需要很长时间:(。我想尝试不使用排除来缩小这个特定的节点模块,但无论我在那里传递什么,它都不会看起来它正在工作。这个解决方案看起来可以工作,如果我传递一个始终匹配 true 的正则表达式,我的生产构建工作但我不知道我现在是否应该制作一个评估每个文件的正则表达式
这很令人困惑,因为我可以放置exclude:/(.*)/
并且程序可以工作,但是如果我尝试放置与文件相关的任何内容,例如exclude:/node_modules/
或/kekule/
(模块的名称),那么这不起作用。比这更奇怪的是我可以通过逆和exclude:/^((?!node_modules).)*$/
甚至exclude:/^((?!kekule).)*$/,
它们都有效
optimization: {
minimizer: [
new TerserPlugin({
exclude: /node_modules/,
}),
],
},
};
也试过用这个它也不太好用
optimization: {
minimize:isEnvProduction,
minimizer: [
// This is only used in production mode
new TerserPlugin({
terserOptions: {
module: {
noParse: (content) => /kekule/.test(content)
},
parse: {...
并且还尝试将 module:{noParse...} 放在层次结构中 module.exports 的正下方,但它也不起作用
有小费吗?谢谢