【问题标题】:Gulp, browserify to use react as CommonJS not working. React is not definedGulp,browserify 使用 react 作为 CommonJS 不起作用。反应未定义
【发布时间】:2015-03-25 16:23:14
【问题描述】:

我一直在尝试使用 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'));

我需要做些什么来解决这个问题?

【问题讨论】:

    标签: javascript gulp browserify


    【解决方案1】:

    在示例中,它包含构建文件中的反应库,如果您想删除它,请使用 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",
    

    【讨论】:

    • 我也使用 babelify,但这不是必需的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多