我有一个常用的js浏览器应用程序(typescript),我使用Webpack来捆绑它。它使用webrtc,所以我想使用来自npm的webrtc适配器包。它是adapter.js的包,它使得在firefox&铬更容易。
在我的模块中,我希望能够访问修改后的导航器项。例如,所以我可以简单地调用:
navigator.mediaDevices.getUserMedia
如果我需要包,然后在我的模块中的某个地方使用变量,我可以让它工作,如下所示:
var webrtc = require("webrtc-adapter");
// somewhere in module
console.log(webrtc.browserDetails);
然而,我不需要通过webrtc适配器访问browserDetails或任何公开的项,我只想对navigator对象使用填充调用。我试过使用webpack。ProvidePlugin和externals,但两者仍然要求我在某个地方使用该对象。
有没有一种方法可以将填充导航器加载到每个模块中,而无需要求,然后在模块中的某个地方使用变量?我知道我可以在配置中使用外部,然后通过单独的脚本标记加载它,但我更喜欢让webpack将其捆绑在一起。
你试过这样要求它吗?
require('webrtc-adapter');
对于普通Webpack:
var a = require('webrtc-adapter');
对于TypeScript。如果您还想要一些打字员,也可以将reference标记与@types/webrtc一起使用。
/// <reference types="webrtc" />
import 'webrtc-adapter';