2

我正在努力让 Browserify 使用演示页面中的 ReactJS .NET MVC 设置。

使用文件在服务器上渲染时一切正常.jsx(不使用 require()),但是当我使用 Browserify 包时,我收到以下错误:

React.dll 中发生了“React.Exceptions.ReactInvalidComponentException”类型的异常,但未在用户代码中处理。附加信息:找不到名为“评论框”的组件。您是否忘记将其添加到 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 任务,因此对此的任何建议都会有所帮助。

4

1 回答 1

4

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

于 2015-04-10T18:22:02.213 回答