正如标题所述,我想使用babel-polyfill来允许我在代码中使用promises,但是我在IE11中遇到了未定义的错误。
我已经尝试让它工作了一段时间,因为我看到在不同的网站上有人问过这个问题,但是没有一个解决方案真正适合我(或者更准确地说,我可能不能将它们适应我的代码)。
这些是我认为涉及的文件:
.babelrc
{
"presets": [
"es2015",
"react"
]
}
package.json: 我在dev-dependencies中使用了babel-polyfill,并尝试将其放到dependencies中(手动交换和通过控制台安装),但都没有起作用。
我的script.js没有导入它(但如果我尝试导入@babel-polyfill,或者在package.json中看到那个语法的不同组合时尝试使用斜杠进行导入,它会找不到模块)。
最后,我的gulpfile.babel.js有这个任务:
gulp.task('build:js', ['lint'], () => {
return browserify({
entries: path.resolve(paths().source.js, 'script.js'),
extensions: ['.jsx'],
debug: true
})
.transform(babelify)
.plugin('minifyify', {
map: 'script.js.map.json',
output: path.resolve(paths().public.js, 'script.js.map.json')
})
.bundle()
.pipe(source('script.js'))
.pipe(gulp.dest(path.resolve(paths().public.js)))
.pipe(notify({
onLast: true,
message: 'Building JS done'
}));
});
我做错了什么?
谢谢。
@babel/preset-env
并切换到 Babel 7。 - connexo