我嘗試了webpack(在Rails的webpacker
庫的上下文中)並希望將生成的bundle用於服務器渲染React組件。在Node.js(純V8環境)中加載webpack-dev-server資產
我可以從本地開發服務器上抓取文件,但是當我將它們加載到我的服務器端JavaScript上下文中時會出現問題。 (我使用Ruby的ExecJS
,通過therubyracer
支持,這是一個Ruby結合V8。)
由於束是從的WebPack-DEV-服務器,它包括了一個設置熱模塊重新加載一串代碼。此代碼假定它是從script
標記加載的,因此它會對頁面的URL進行一些檢查。在裸V8背景下,沒有 URL,所以我們得到很多的錯誤,例如:
TypeError: Cannot read property 'protocol' of undefined
因爲它試圖讀取self.location.protocol
。 (self
存在,但self.location
不。)
我開始嘲笑下來的各種的DOM API導致的錯誤,而走的路,但我不知道,有沒有適當方式做到這一點?例如:
- 我能得到的WebPack-DEV-服務器不的HMR代碼包?
- 我能以某種方式繞過HMR代碼(除了添加大量模擬)嗎?