【问题标题】:Running ReactJS.NET with browserify使用 browserify 运行 ReactJS.NET
【发布时间】:2015-04-10 11:10:57
【问题描述】:

我正在努力让 Browserify 使用来自 demo page 的 ReactJS .NET MVC 设置。

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

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

【问题讨论】:

    标签: c# reactjs browserify reactjs.net


    【解决方案1】:

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

    【讨论】:

    • 用 Webpack 试过了,这个教程很容易看出如何在全局范围内公开它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 2017-02-28
    • 2015-09-27
    • 2017-04-10
    • 2016-10-13
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多