我正在使用的項目使用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