所以,我知道可以指定一个特定的javascript引擎,对服务器端渲染做出反应。我似乎无法找到任何信息。这是他们的一个Github问题的一个模糊,证实了它是可能的:
您是否尝试使用V8引擎运行它? MS可以很好用(我们在开发周期的早期就有类似的问题)。它在其他3个环境中起作用的事实意味着它们与第4个环境之间必须存在差异。可能是它在生产服务器上有不同版本的IE吗?棘手的追踪因此切换到V8可能是一个更快的选择。
https://github.com/reactjs/React.NET/issues/188
任何人都知道如何做到这一点?我看到不同机器之间的不一致,我认为(比如,90%)原因是使用不同的JS引擎。我想锁定它,所以只使用v8,所以事情是一致的。
答案 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)