我有一個簡單咕嘟咕嘟配置transpile我的JavaScript與巴貝爾:ES6進口和要求不與正常工作一飲而盡/ browserify/babelify
gulp.task('js_dev', function() {
var bundler = browserify({entries: ['js/index.js'], debug: true});
bundler.external('jquery');
return bundler
.transform("babelify", {presets: ["es2015"]})
.bundle()
.on('error', function (err) {
console.error(err);
this.emit('end');
})
.pipe(source('dev.js'))
.pipe(gulp.dest(jsdest));
});
有了這個,我可以導入我的開發文件。 但我不能導入一些安裝了npm的軟件包(同位素,textfit,babel-polyfill ...)。
例如,如果我導入我的index.js文件巴貝爾,填充工具:
import "babel-polyfill";
與一飲而盡沒有錯誤,並且代碼似乎dev.js以復加,但它不工作,和我不能要求它:它給出一個空的對象。
與其他npm模塊(例如同位素)相同。當我require
他們,它只是給一個空的對象。同位素應該與require一起工作。
任何想法發生了什麼?
謝謝。
'babel-polyfill'不會輸出任何東西... – robertklep
也許,但同位素確實(或應該)。 babel-polyfill應該允許我用於...循環,對吧?如果在導入之後做一個for ...循環,它會給我一個xxx [Symbol.operator]不是一個函數。 – MrJambon
以下是生成的代碼: 'import「babel-polyfill」; 爲(讓{ '測試':1}的噸){ 警報(噸) }' :http://pastebin.com/pQUDLpYg – MrJambon