所以,我知道可以用react指定一个特定的javascript引擎来进行服务器端渲染。我就是找不到任何相关信息。这是他们的一个Github问题的宣传,证实了这是可能的:
https://github.com/reactjs/React.NET/issues/188你试过用V8引擎来运行它吗?微软版本可能会有问题(我们在开发周期的早期也遇到过类似的问题)。事实上,它可以在另外3个环境中工作,这意味着它们与第4个环境之间一定有区别。可能是在生产服务器上有不同版本的IE ?很难追踪,因此切换到V8可能是一个更快的选择。
有人知道怎么做吗?我看到不同机器之间的不一致,我认为(比如,90%)原因是使用了不同的JS引擎。我想锁定它,所以只有v8被使用,所以事情是一致的
你需要在ReactJS上调用.SetAllowMsieEngine(false)
。网络配置。ASP。NET 4,默认是在App_StartReactConfig.cs
中。ASP。. NET Core,它在Startup.cs
的UseReact
调用中。
这将强制它使用V8,或者在加载V8失败时抛出异常(而不是回退到MSIE)。最常见的问题是bin
中缺少ClearScript.V8
目录。这应该自动复制跨ASP。. NET 4站点,但对于ASP。你需要手动修改你的构建来做到这一点(见http://reactjs.net/2016/08/protected-memory-exceptions-and-dotnet-core.html)