絕望模式:嘗試了許多不同的配置,都失敗了。我有一個browserified + babelified束稱爲視頻郵件,client.js這裏:如何調查來自browserified bundles的「無法找到模塊X」?
https://github.com/binarykitchen/videomail-client/tree/develop/dist
的的package.json的那個包的主入口指向此文件。
現在,當我從require()
內的其他項目,包和browserify,然後我看到使用browserify從一飲而盡任務此錯誤:
[16:26:32] Error: Cannot find module './keys' from '/home/michael-heuberger/code/videomail.io/node_modules/videomail-client/dist'
at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:55:21
at load (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:152:21)
Hmnmm,聽起來很複雜?讓我重述一下。包視頻郵件客戶端瀏覽。另一個項目videomail.io需要它,並再次與其他軟件包一起重新瀏覽。那就是它失敗了。
在附註中,當我使用videomail-client.js運行獨立示例時,它工作正常。
我認爲問題是,browserify無法解析./keys
文件。但它應該包含在browserified的videomail-client.js包中並從那裏解析。我如何告訴browserify以正確的方式解決問題?
建議歡迎我如何調查和解決這個問題。謝謝!!
...或切換到WebPack,如果這是一個選項。根據我的經驗,這是一個更多功能的打包機。 –
mmmhhh,謝謝,但不想放棄在這裏。但也許我應該考慮使用視頻郵件客戶端軟件包本身的未經過瀏覽的源代碼。但問題在於,它是用ES6編寫的,任何其他需要它的項目都必須首先對它進行babelify處理,這很麻煩...... –
實際上,這並不像您想象的那麼遙遠。 ES6 +項目可以引用來源,而ES5項目可以包含browserified庫。這正成爲接受/標準做法(ref [rollup js](https://github.com/rollup/rollup#publishing-es6-modules))和上述WebPack)。 –