2015-11-10 37 views
0

我想使用rails,react和browserify製作一個web應用程序。我一直在關注this tutorial,因爲我想要服務器端渲染,所以我使用this repo作爲起點,並遵循README文件中提到的教程。rails react browserify TypeError:對象函數沒有方法'extend'

雖然我覺得我做的事情的文章提到的建議,我無法弄清楚如何解決以下錯誤:

TypeError: Object function (w) { if (!w.document) { throw new Error("jQuery requires a window with a document"); } return factory(w); } has no method 'extend'

如果要重現錯誤,克隆my repo,這是開源和它在GitHub上,並轉到特性分支auth安裝裝配寶石和NPM包和擡起服務器:

$ cd path_to_project $ git checkout -b feature/auth $ bundle $ npm install $ bundle exec rails server

我真的很感激任何幫助,因爲我目前卡在這裏。此外,我是新來的反應,所以我不知道在哪裏尋找問題。

編輯:通過請求中的評論,我已經刪除了堆棧跟蹤,以使問題更具可讀性。如果您需要任何額外信息,請告訴我。

+0

你能編輯你的文章嗎?清晰並不容易。 – MC2DX

+0

@MateuszCzerwiński:做完了,你能弄清楚什麼? – Throoze

+0

@Throoze不相關,但如果你有一個時刻,你會介意嘗試browserify-rails 2.0.2,看看它是否適合你?有一些性能改進,但我想確認它爲大家正常工作。 – Cymen

回答

0

我碰巧在使用j-toker CommonJS包,它在內部使用jQueryajax API。 jQuery與服務器端呈現不兼容,因爲它需要一個document元素來加載它自己,並且它只存在於瀏覽器中,而不存在於服務器中。這個解決方案還沒有完成,但是作爲J-Toker's author has indicated,他即將發佈一個涵蓋服務器端渲染情況的新庫。

所以,任何人都遇到類似的錯誤,請檢查您是否正在使用jquery或輪流取決於jquery,或需要具有document DOM元素的任何其他程序包,請嘗試使用服務器端渲染,安全的替代品。

相關問題