Bundle使用browserify在外部文件中做出反应

时间:2016-03-31 00:35:21

标签: gulp browserify babeljs

所以我看到这个问题以几种不同的方式回答,但我似乎无法让它发挥作用。我做的捆绑似乎工作,除了它在内部反应,从而使它重复,因为它也在vendor.js。

var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');



gulp.task('default', function() {

  // app
    var appBundler = browserify({
        entries: ['./client/main.js'],
    transform: [['babelify', {"presets": ['es2015', 'react']}]]
    })

  appBundler.external('react')

  appBundler.bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public'))

  // vendors
  browserify({
      debug: true,
      require: ['react']
  }).bundle()
    .pipe(source('vendors.js'))
    .pipe(gulp.dest('./public'))

});

1 个答案:

答案 0 :(得分:1)

如果您正在使用它,我猜你无法分解没有反应的反应。事实证明我的问题是通过在我的外部添加react-dom来解决的。

appBundler.external(['react', 'react-dom'])

我的超级简单的hello world示例确实输入了“react-dom”。 :\

感谢您的帮助!这些问题促使我深入研究版本和导入,并引导我回答:)