我正在使用的项目使用ASP.Net Core
(.NetCoreApp 1.1
)+ SpaServices
+ React
+ Redux
+ Webpack
。 React的真正力量是服务器端JS渲染。当您使用流行的JS库使用IIS
/Kestrel
时,一切正常,但当您尝试使用某些UI库时,服务器端渲染会崩溃。ASP.Net核心JavaScript引擎
我在我的项目中使用react-planner
,它取决于提供WebGL和canvas渲染器的'three'lib。问题是,Asp.Net Core默认的JS引擎没有在客户端的浏览器中可用的“窗口”环境,所以服务器无法渲染一些JS库。有一个叫做JavaScriptEngineSwitcher
的.Net
库,但它不支持.NetCoreApp
。我现在看到3种方式:
- 找到切换默认JS引擎的方法。
- 禁用服务器端呈现。
- 找到一种方法来仅关闭
react-planner
服务器端渲染。
有什么想法?
我不是确定*任何JavaScript引擎都支持'window'。 'window'是浏览器的全局。我会考虑选项3并检测您是否是服务器端渲染。 –
应用程序的主页上有一个明确的选项,用于定义是否使用服务器端呈现。我不知道如何使用服务器端渲染仅用于几个组件,我不知道是否有可能。 – veralex