【发布时间】:2017-11-17 19:46:59
【问题描述】:
我正在使用ASP.Net Core (.NetCoreApp 1.1) + SpaServices + React + Redux + Webpack 进行该项目。 React 的真正强大之处在于服务器端的 JS 渲染。当您将IIS/Kestrel 与流行的 JS 库一起使用时,一切正常,但是当您尝试使用某些 UI 库时,服务器端呈现会崩溃。
我在我的项目中使用react-planner,它依赖于提供 WebGL 和画布渲染器的“三个”库。问题是 Asp.Net Core 默认 JS 引擎没有客户端浏览器中可用的“窗口”环境,因此服务器无法呈现某些 JS 库。 .Net 有一个名为 JavaScriptEngineSwitcher 的库,但它不支持 .NetCoreApp。我现在看到 3 种方式:
- 想办法切换默认 JS 引擎。
- 禁用服务器端渲染。
- 找到一种方法,只为
react-planner关闭服务器端渲染。
有什么想法吗?
【问题讨论】:
-
我不确定 any javascript 引擎是否支持
window。window是浏览器的全局变量。我会考虑选项 3 并检测您是否是服务器端渲染。 -
在应用的主页面上有一个明确的选项来定义是否使用服务端渲染。我不知道如何仅对几个组件使用服务器端渲染,也不知道是否可行。
标签: javascript reactjs asp.net-core three.js .net-core