运行 ReactJS.NET 使用 browserify

Running ReactJS.NET with browserify

我正在努力让 Browserify 与来自 demo page 的 ReactJS .NET MVC 设置一起工作。

在使用 .jsx 文件(不使用 require())在服务器上呈现时一切正常,但是当我使用我的 Browserify 包时,出现错误:

An exception of type 'React.Exceptions.ReactInvalidComponentException' occurred in React.dll but was not handled in user code. Additional information: Could not find a component named 'CommentBox'. Did you forget to add it to App_Start\ReactConfig.cs?

这是我的看法:

@Html.React("CommentBox", new
{
    initialData = Model
})
<script src="http://fb.me/react-0.12.2.js"></script>
<script src="src/to/bundle.js"></script>
@Html.ReactInitJavaScript()

ReactInitJavascript() 编译为:

<script>React.render(React.createElement(CommentBox, {"initialData":[{"Author":"Daniel Lo Nigro","Text":"Hello ReactJS.NET World!"},{"Author":"Pete Hunt","Text":"This is one comment"}]}), document.getElementById("react1"));

我假设 CommentBox 没有定义,因为它不能从 Browserify 包中访问,有没有一种简单的方法来公开组件?

我是 运行 我在命令行上的 browserify 任务,所以对此的任何建议都会有所帮助。

您需要全局公开组件,以便可以从服务器端代码访问它。我还没有用 Browserify 试过,但是 ReactJS.NET 文档确实介绍了如何用 Webpack 做到这一点:http://reactjs.net/guides/webpack.html