【问题标题】:Bundle react in an external file with browserify使用 browserify 在外部文件中捆绑反应
【发布时间】:2016-03-31 00:35:20
【问题描述】:

所以我看到这个问题回答了几种不同的方式,但我似乎无法让它发挥作用。我制作的捆绑包似乎可以工作,只是它会在内部做出反应,从而使其重复,因为它也在 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'))

});

【问题讨论】:

  • 你使用的是哪个版本的 react?
  • 看起来应该可以了。您的应用程序包是否需要任何其他 React 包,例如 react-addons-*

标签: gulp browserify babeljs


【解决方案1】:

我猜如果你正在使用它,你不能分离 react w/o react-dom。原来我的问题也通过添加 react-dom 到我的外部解决了

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2021-07-25
    • 2015-06-13
    • 2016-02-24
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多