Sma*_* NE 8 javascript webpack babeljs
我发现(webpack)包(输出)结果中有很多不必要的重复,具体来说,它们都是帮助器(如classCheck,objectSpread(由于对象扩展插件)。
所以,我想减少重复。如果它是一个库,当然,我将使用转换运行时插件(请参阅runtime-corejs3)来执行此操作。但是现在这是一个应用程序,那么正确的方法是什么?
因此我很困惑,因为该transfrom-runtime插件被推荐用于库(并且是为了整个减少。即core-js,regenerator和助手)。但在这里我只想减少助手重复,而不是其他重复,因为这是由babel/env.
所以在这里我想问/讨论的问题是是否有必要减少应用程序中的helpers重复,如果是,以及如何减少?
另一个问题是,core-js/modules/es.promise.js和 core-js-pure/modules/es.promise.js代码完全一样,主要区别只是前者有全局污染?如果是这样,为什么core-js不使用(直接导入)core-js-pure来填充然后将其添加到全局?IMO,这将大大减少重复,因为现在库使用transform-runtime(最终core-js-pure)但应用程序使用preset-env(最终core-js),应用程序和库之间没有共享/可共享代码,对吗?
@babel/plugin-transform-runtime:添加polyfills而不将它们附加到全局范围。
@babel/preset-envwith useBuiltins: "usage":将填充添加到全局范围。
@babel/preset-envwith useBuiltIns: false (default): 不要添加polyfills。
因此
@babel/plugin-transform-runtime建议 库和应用程序都添加 polyfill。
babel.config.js:
module.exports = {
presets: ['@babel/preset-env'],
plugins: [
'@babel/transform-runtime',
],
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1134 次 |
| 最近记录: |