2016-05-09 2 views
3

Webpackをバンドルするcommonjsブラウザアプリケーション(typescript)があります。 webrtcを使用するので、webrtc-adapter package from npmを使用します。 adapter.jsのパッケージで、firefox &とchromeの間のwebrtcで作業しやすくなりました。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と外部を使用してみましたが、どちらもまだオブジェクトをどこかで使用する必要があります。

シムメッドナビゲータを各モジュールにロードして、モジュールのどこかで変数を使用しなくてもいい方法がありますか?私は設定で外部を使用することができ、別のスクリプトタグを介してそれをロードすることができますが、私はそれを一緒にバンドルするWebpackを持っていると思います。

答えて

2

このようにしてみましたか?活字体のために

var a = require('webrtc-adapter'); 

:通常のWebPACKについては

require('webrtc-adapter');

+0

これは機能しました。ありがとう。これを行うと、タイプスクリプトは「名前が見つかりません」というエラーを出力します。それを修正した 'declare function require(moduleName:string)'を追加しました。 –

1

。いくつかのタイプ入力が必要な場合は、@ types/webrtcとともに参照タグを使用してください。

/// <reference types="webrtc" /> 
import 'webrtc-adapter'; 
関連する問題