0

我有一个简单的 Gulp 配置来用 babel 转换我的 javascript:

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 的包(isotope、textfit、babel-polyfill...)。

例如,如果我在 index.js 文件中导入 babel-polyfill:

import "babel-polyfill";

gulp 没有错误,并且代码似乎已添加到 dev.js 中,但它不起作用,我也不能要求它:它给出了一个空对象。

其他 npm 模块(例如同位素)也是如此。当我require他们时,它只是给出一个空对象。Isotope 应该与 require 一起工作。

知道发生了什么吗?

谢谢。

4

2 回答 2

1

好吧,我找到了。我的 JavaScript 文件被添加到已经使用 AMD/Require.js 的 CMS 中。这与 browserify 冲突。

解决方案就在这里

于 2016-08-31T09:36:15.580 回答
0

怎么办:

import BabelPolyfill from "babel-polyfill"
于 2016-08-29T16:34:57.480 回答