为了帮助优化,Terser支持纯注释来指示函数调用是纯的。具体来说,文档只给出了以下示例:
const x = /*#__PURE__*/i_am_dropped_if_x_is_not_used()
但是,通常,如果我定义一个纯函数,它的每次使用都是纯的。是否有一种方法可以使用注释来指示函数始终是纯的?如果没有,我是否必须手动列出函数并将它们传递到pure_funcs选项中?
,
另外,纯注释是否真的要求函数在数学/函数式编程意义上是纯的,或者它是幂等的就足够了?例如,如果函数getModel(id)在后台保留缓存以提高性能,如果我将其标记为纯,会导致问题吗?
在你的配置中使用这样的内容:
new TerserPlugin({
terserOptions: {
compress: {
pure_funcs: [
'<yourFunction>',
],
},
},
}),
你可以在这里的压缩选项中找到文档。