我有一個commonjs瀏覽器應用程序(打字稿),我使用Webpack捆綁。它使用webrtc,所以我想使用webrtc-adapter package from npm。它是adapter.js的軟件包,它使得webrtc在firefox & chrome之間的工作更容易。如何在Webpack中使用webrtc-adapter(adapter.js)shim?
我的模塊內我想要能夠訪問修改後的導航器項目。例如,這樣我就可以直接電話諮詢:
navigator.mediaDevices.getUserMedia
我可以得到它,如果我需要的包,然後某處使用變量我的模塊中,像這樣的工作:
var webrtc = require("webrtc-adapter");
// somewhere in module
console.log(webrtc.browserDetails);
不過,我不不需要通過webrtc-adapter訪問browserDetails或任何公開的項目,我只是想在導航器對象上使用shimmed調用。我試過使用webpack.ProvidePlugin和外部,但都仍然要求我在某處使用該對象。
有沒有一種方法可以將填充的導航器加載到每個模塊中,而無需在模塊中的某處使用該變量?我知道我可以在配置中使用external,然後通過單獨的腳本標記加載它,但我更願意將webpack捆綁在一起。
這工作。謝謝。如果您這樣做,TypeScript會輸出一個錯誤「無法找到需要的名稱」。添加'declare function require(moduleName:string)'雖然修復了它。 –