我一直在尝试使用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'));
我需要做什么才能解决这个问题?
答案 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",