Javascript 解决Babel中浏览器输出的require调用
我想将ES6转换为ES5以使用浏览器(IE)。因为我需要一些多边形填充,所以设置了“useBuiltIns”:“usage”Javascript 解决Babel中浏览器输出的require调用,javascript,gulp,babeljs,Javascript,Gulp,Babeljs,我想将ES6转换为ES5以使用浏览器(IE)。因为我需要一些多边形填充,所以设置了“useBuiltIns”:“usage” { "sourceType": "script", "ignore": ["gulpfile.js"], "presets": [ ["@babel/preset-env", { "useBuiltIns": "usage" } ] ] } 但输出文件开头包含require语句: require("core-js/modul
{
"sourceType": "script",
"ignore": ["gulpfile.js"],
"presets": [
["@babel/preset-env",
{ "useBuiltIns": "usage" }
]
]
}
但输出文件开头包含require
语句:
require("core-js/modules/es7.promise.finally");
require("core-js/modules/es6.function.name");
require("core-js/modules/es6.weak-map");
// ...
为什么不嵌入Babel 7这些文件?据我所知,我们有
script
供浏览器使用,因此我只得到一个没有任何模块的捆绑文件 巴别塔不是捆扎机,它只是现代电子产品的运输工具
您需要一个像Webpack或Parcel这样的捆绑程序来转换
require()
函数调用和/或import
语句。我在gulp任务中使用了browserify with Babbel插件:
const gulp = require("gulp"),
babel = require("gulp-babel"),
browserify = require("browserify"),
fs = require("fs");
gulp.task("js", () => {
let outputFolder = 'dist'
let targetFile = "customization.js"
const js = "src/js"
let jsSources = [`${js}/polyfills.js`, `${js}/custom.js`]
return browserify(jsSources)
.transform("babelify")
.bundle()
.pipe(fs.createWriteStream(`${outputFolder}/js/${targetFile}`))
})
这将创建一个没有任何模块加载程序的包