gulp,浏览器使用反应,因为CommonJS不起作用。 React未定义

时间:2015-03-25 16:23:14

标签: javascript gulp browserify

我一直在尝试使用browserify和gulp将ReactJS捆绑为commonJS模块,但每当我运行我的代码时,我得到 React未定义错误并且是新的,我还没有能够找到这个错误的正确解决方案。

以下是browserify的部分内容

gulp.task('build', function(){
  browserify({
    entries: [path.ENTRY_POINT],
    transform: [reactify],
  }).require('react')
    .bundle()
    .pipe(source(path.MINIFIED_OUT))
    .pipe(streamify(uglify(path.MINIFIED_OUT)))
    .pipe(gulp.dest(path.DEST_BUILD));
});

我检查了生成的捆绑文件,并在页面底部定义了React,不确定这是否意味着什么,但这就是我在app.js文件中调用React的方式。

    var React  = require('react');
    var Parent = require('./parent.js');
    React.render(<Parent />, document.getElementById('app'));

我需要做什么才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

在示例中,它包含构建文件上的react库,如果要删除它,请使用browserify-shim。

Gulpfile.js(任务)

browserify('index.js', {
    debug: true,
    transform: ['babelify', 'reactify2']
  })
  .bundle()
  .pipe(source('app.js'))
  .pipe(gulp.dest('./build'));

package.json(devDependencies)

   "react": "^0.13.1",