我一直在尝试使用 ReactJS.Net 在 MVC 项目中运行Flux Todo List Tutorial 。
我正在使用 Gulp 和 Browserify 来捆绑文件,然后调用以在我的视图中呈现 React 组件。gulpfile.js的相关部分:
gulp.task('build', function(){
browserify({
entries: [path.ENTRY_POINT],
transform: [reactify]
})
.bundle()
.pipe(source(path.NON_MINIFIED_OUT))
.pipe(gulp.dest(path.DEST_BUILD));
});
我已更改App.js文件以全局定义我的组件:
global.React = require('react');
global.TodoApp = require('./components/TodoApp.react');
我试图在我看来像这样使用:
<div id="app">
@Html.React("TodoApp", new {})
</div>
<script src="http://fb.me/react-0.13.3.min.js"></script>
@Scripts.Render("~/bundles/reactApp")
@Html.ReactInitJavaScript()
但它在运行时抛出以下错误:
找不到名为“TodoApp”的组件。您是否忘记将其添加到 App_Start\ReactConfig.cs?
我已将 Browserify 的输出添加到我的ReactConfig.cs:
public static void Configure()
{
ReactSiteConfiguration.Configuration
.AddScript("~/dist/build.js"); // Have also tried .AddScriptWithoutTransform
}
但这似乎没有帮助。
如果我只是在客户端渲染它工作正常:
<div id="app">
</div>
@Scripts.Render("~/bundles/reactApp")
<script>
React.render(
React.createElement(TodoApp, null),
document.getElementById('app')
);
</script>