Webpack 网页包+;巴贝尔:如何只在一个入口点包含Polyfil,但使其“成为”;“全球”;因此,其他入口点将起作用

Webpack 网页包+;巴贝尔:如何只在一个入口点包含Polyfil,但使其“成为”;“全球”;因此,其他入口点将起作用,webpack,babeljs,babel-loader,core-js,Webpack,Babeljs,Babel Loader,Core Js,我的网页包构建在多个入口点上工作,因为我想提供一个AMD库,它有各种独立的模块。在任何时候,只有其中一个模块会首先被加载(我们称之为core.js)。Babel/Corejs3将其多填充添加到每个入口点,使我的包比需要的大得多。我希望polyfills只在“core.js”中定义,但要使它们成为“全局”(添加到窗口对象) 我需要如何采用我的.babelrc或webpack.config.js来实现这一点 My webpack.config是动态构建的(entrypoints是动态添加的),下面是

我的网页包构建在多个入口点上工作,因为我想提供一个AMD库,它有各种独立的模块。在任何时候,只有其中一个模块会首先被加载(我们称之为core.js)。Babel/Corejs3将其多填充添加到每个入口点,使我的包比需要的大得多。我希望polyfills只在“core.js”中定义,但要使它们成为“全局”(添加到窗口对象)

我需要如何采用我的.babelrc或webpack.config.js来实现这一点

My webpack.config是动态构建的(entrypoints是动态添加的),下面是一个示例,其中只有几个entrypoints可以保持简单,但它包含更多的entrypoints

const TerserPlugin=require('terser-webpack-plugin');
module.exports={
“条目”:{
“核心”:{
“导入”:“/core.js”
},
“画廊”:{
“导入”:“/gallery.js”
},
“utils”:{
“导入”:“/utils.js”
},
},
“产出”:{
“devtoolNamespace”:“http://”,
“图书馆”:{
“名称”:“[名称]”,
“类型”:“amd”
},
“路径”:“/path/to/libraryroot”
},
“devtool”:“源映射”,
“模块”:{
“规则”:[
{
“测试”:/\.js$/,
“加载器”:“巴别塔加载器”
}
]
},
“优化”:{
“最小化”:[
新的TerserPlugin({
对,,
})
]
},
“外部”:{
“核心”:{
“amd”:“核心”
},
“画廊”:{
“amd”:“画廊”
},
“utils”:{
“amd”:“utils”
},
},
“决心”:{
“模块”:[
__dirname,
“节点_模块”,
]
},
“模式”:“发展”,
“amd”:{
“jQuery”:true
},
“上下文”:“/path/to/src”
};
这是我的宝贝

{
“预设”:[
[
“@babel/preset env”{
“调试”:正确,
“useBuiltIns”:“用法”,
“corejs”:3
}
],
“@babel/预设流量”
],
“插件”:[
[“@babel/plugin-transform-resact-jsx”,{“pragma”:“h”}]
]
}
如果所有的多边形填充都在一个附加的js文件中,并且可以包含在文档头中,那就更好了

最好的结果当然是,如果所有PolyFil都可以作为amd deps加载,并添加到最终的define语句中