指定使用哪个Javascript engineReactJS .NET

时间:2016-08-29 16:50:34

标签: reactjs reactjs.net

所以,我知道可以指定一个特定的javascript引擎,对服务器端渲染做出反应。我似乎无法找到任何信息。这是他们的一个Github问题的一个模糊,证实了它是可能的:

  

您是否尝试使用V8引擎运行它? MS可以很好用(我们在开发周期的早期就有类似的问题)。它在其他3个环境中起作用的事实意味着它们与第4个环境之间必须存在差异。可能是它在生产服务器上有不同版本的IE吗?棘手的追踪因此切换到V8可能是一个更快的选择。

https://github.com/reactjs/React.NET/issues/188

任何人都知道如何做到这一点?我看到不同机器之间的不一致,我认为(比如,90%)原因是使用不同的JS引擎。我想锁定它,所以只使用v8,所以事情是一致的。

1 个答案:

答案 0 :(得分:0)

您需要在ReactJS.NET配置上调用.SetAllowMsieEngine(false)。对于ASP.NET 4,默认情况下位于App_Start\ReactConfig.cs。对于ASP.NET Core,它位于UseReact中的Startup.cs调用中。

这将强制它使用V8,或者如果它无法加载V8(而不是回退到MSIE)则抛出异常。最常见的问题是ClearScript.V8中缺少bin目录。这应该自动复制到ASP.NET 4站点,但是对于ASP.NET Core,您需要手动修改构建才能执行此操作(请参阅http://reactjs.net/2016/08/protected-memory-exceptions-and-dotnet-core.html