相关疑难解决方法(0)

如何在 Webpack 中使用 webrtc-adapter (adapter.js) shim?

我有一个使用 Webpack 捆绑的 commonjs 浏览器应用程序(打字稿)。它使用 webrtc 所以我想使用来自 npm的webrtc-adapter 包。它是adapter.js的包,它使得在firefox 和chrome 之间使用webrtc 更容易。

在我的模块中,我希望能够访问修改后的导航器项目。例如,我可以简单地调用:

navigator.mediaDevices.getUserMedia
Run Code Online (Sandbox Code Playgroud)

如果我需要这个包,然后在我的模块中的某处使用变量,我可以让它工作,如下所示:

var webrtc = require("webrtc-adapter");
// somewhere in module
console.log(webrtc.browserDetails);
Run Code Online (Sandbox Code Playgroud)

但是,我不需要通过 webrtc-adapter 访问 browserDetails 或任何公开的项目,我只想使用 navigator 对象上的 shimmed 调用。我试过使用 webpack.ProvidePlugin 和 externals,但两者仍然要求我在某处使用该对象。

有没有一种方法可以将带垫片的导航器加载到每个模块中,而不必要求然后在我的模块中的某处使用该变量?我知道我可以在配置中使用 external ,然后通过单独的脚本标签加载它,但我更喜欢将 webpack 捆绑在一起。

webpack

6
推荐指数
1
解决办法
5754
查看次数

如何使用webRTC-adapter的adapter.js?

我正在编写WebRTC应用程序,并且存在以下问题:

我想使用adapter.js库。

我有以下index.html:

<html>
  <header>
     <script src='../out/adapter.js'></script>
     <script src='../out/main.js'></script>
  </header>
  <body> 
    <video id="localVideo" width='500' autoplay></video> 
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和我的main.js看起来像:

var adapter=require('webrtc-adapter');
var localVideo=document.querySelector('video#localVideo');
navigator.getUserMedia(media_constraints, handleUserMedia, handleUserMediaError); 
function handleUserMedia(stream) {        
   localStream = stream;        
   adapter.attachMediaStream(localVideo, stream);        
   console.log('Adding local stream.');  
}
Run Code Online (Sandbox Code Playgroud)

但是我的浏览器记录了错误: Uncaught ReferenceError: require is not defined

rtc node.js webrtc openwebrtc

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

node.js ×1

openwebrtc ×1

rtc ×1

webpack ×1

webrtc ×1