我刚刚开始使用Babel将我的ES6 javascript代码编译成ES5.当我开始使用Promises时,看起来它不起作用.Babel网站表示支持通过polyfill承诺.
没有运气,我试图添加:
require("babel/polyfill");
Run Code Online (Sandbox Code Playgroud)
要么
import * as p from "babel/polyfill";
Run Code Online (Sandbox Code Playgroud)
有了这个我将在我的应用程序引导上得到以下错误:
找不到模块'babel/polyfill'
我搜索了模块,但似乎我在这里缺少一些基本的东西.我也尝试添加旧的和好的蓝鸟NPM,但看起来它不起作用.
如何使用Babel的polyfills?
我试图Object.assign()在Babel使用webpack编译的ES6 Web应用程序中使用,但是我收到一个错误:
Uncaught TypeError: Object.assign is not a function
Run Code Online (Sandbox Code Playgroud)
我已经babel-loader习惯将ES6转换为ES5,所以我所有的其他ES6代码都在工作.然而,Object.assign()只有import "babel-core/polyfill"在我的代码库之后才能工作.我看到我也可以通过导入babel-runtime来解决这个问题,但是我想了解为什么 Object.assign()需要的不仅仅是babel-loader执行 - 不应该babel-loader预处理所有内容,包括Object.assign()?
我让Babel 6与Gulp和Webpack很好地合作.我现在需要将其填充以获得IE8支持.
我已经安装了babel-polyfill,但无法使其工作,文档和谷歌到目前为止还没有帮助.
我的Gulp任务(包括Webpack配置):
gulp.task('webpack', function(callback) {
var webpackConfig = {
context: __dirname + '../../../js',
entry: {
homepage: [
'babel-polyfill',
'./public/homepage/homepage.js'
]
},
output: {
path: __dirname + '../../../dist/public/scripts/',
filename: '[name].bundle.js'
},
module: {
loaders: [
{
loader: 'babel-loader',
test: /\.js$/, // Only run .js files through Babel
include: /js/, // Only include the /js dir
query: {
//plugins: ['transform-runtime'], // Disabled pending fix to https://github.com/babel/babel/issues/2954
presets: ['es2015'],//, 'stage-0'
}
}
]
}
};
webpack(webpackConfig, function(err, stats) {
if (err) …Run Code Online (Sandbox Code Playgroud)