我一直在努力一段時間,現在出現了一個我認爲是由Webpack引起的問題。基本上,我有一個基於Node的應用程序,我捆綁Webpack服務於客戶端(這是一個基於ReactJS的應用程序)。當我安裝Tabletop NPM軟件包和require
時,出現問題。Webpack導致包輸出中出現語法錯誤
當嘗試加載的WebPack創建bundle.js
在瀏覽器中,我得到一個語法錯誤:
Uncaught SyntaxError: Unexpected identifier
其抱怨這一行bundle.js
:
target[capName] = __webpack_require__(387)(""path + '/' + name);
經過一番挖掘之後,我發現這一行起源於Hoek庫中的一行(這是T的一個子依賴abletop):
target[capName] = require(path + '/' + name);
顯然的WebPack做了一些時髦這裏。
雖然我還沒有能夠找出原因。桌面包括NodeJS使用的an example,我能夠使用Webpack並運行得很好。
我也克隆Hoek和Webpacke'd它沒有看到任何像上述的非法轉換。
現在,我不確定這是Webpack,Hoek還是Tabletop問題,這就是爲什麼我在這裏發佈它。
我發現沒有相關的問題,在這裏或GH。
所有幫助表示感謝!
這是一個動態需求問題。默認情況下,短小的webpack不支持動態需求(例如:require(not +'a'+ fixed + path);)然而,可以使用插件教它如何處理它們。請參閱:https://github.com/webpack/webpack/issues/118和https://github.com/webpack/webpack/search?q=dynamic+require&type=Issues&utf8=%E2%9C%93 – generalhenry 2014-11-24 21:25:33
由於代碼是由webpack生成的,這顯然是一個bug,應該在Github上報告。請同時發佈您的配置,因爲我認爲它是由特定選項造成的。 – 2014-11-24 21:49:13
感謝您的信息。我同意這是一個錯誤@jhnns,但正如@generalhenry提供的鏈接所示,我顯然不是第一個體驗這一點的人。 我已經意識到Tabletop有一個過時的'request'依賴 - 我要求桌面升級它並查看它是如何工作的。完成後會發布。 – 2014-11-25 09:11:04