我正在尝试复制我正在将React添加到现有应用程序的问题。不幸的是,目前我遇到了一个完全不同的问题,只是试图重现原始问题。
基本结构是一个由browserify编译的新基础模块,然后与现有模块连接,该模块现在为应用程序提供引导。
var gulp = require('gulp');
var browserify = require('browserify');
var reactify = require('reactify');
var source = require('vinyl-source-stream');
var concat = require('gulp-concat');
gulp.task('default', ['browserify', 'concat']);
gulp.task('browserify', function(){
return browserify({
entries: ['./src/app.js'],
transform: [["reactify", {"es6": true}]],
extensions: ['.jsx'],
debug: true,
standalone: 'App'
}).bundle()
.pipe(source('browserifyPackage.js'))
.pipe(gulp.dest('./oldSrc'));
})
gulp.task('concat', ['browserify'], function(){
return gulp.src(['./oldSrc/browserifyPackage.js', './oldSrc/app.js'])
.pipe(concat('app.js'))
.pipe(gulp.dest('./'));
})
新模块非常简单
window.React = require('react');
module.exports = {
TodoSection: require('./todoSection')
}
然后旧应用程序看起来像这样
_.extend(App, (function(){
return { init: function(){
React.render(new App.TodoSection(), document.getElementById('body'));
}}
}))
window.addEventListener('load', function() { App.init(); }, false).
当我尝试使用这个文件时,虽然我得到了一个"意外的行结束"来自browserify中的prelude.js。我没有看到明显的问题,但我显然错过了一些东西。
可以在Github
上找到完整的示例项目答案 0 :(得分:0)
问题可能是这一行结尾的时期:
window.addEventListener('load', function() { App.init(); }, false).