我一直试图使用browserfy和gull将ReactJS捆绑为一个通用的JS模块,但每当我运行代码时,我都会收到一个React未定义错误,作为新手,我还没能找到正确的解决方案来解决这个错误。
以下是浏览的部分看起来像
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'));
我需要做什么来解决这个问题?
在这个例子中,它包括构建文件上的react库,如果你想删除它,请使用browserfy 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",