libvorbis.jsというオーディオエンコーディングライブラリを読み込もうとしています。これはemscriptenのvorbisのコンパイル済みバージョンです。モジュール変数を上書きするライブラリを持つimports-loaderとexports-loader
libvorbis.jsは、スコープ内にwindow変数を指定して実行する必要があり、エクスポート宣言なしでクラスをvarとして公開します。
通常、imports-loaderとexports-loaderを連鎖させて、そのようなファイルを取得するのは簡単です。 Using-
「この」内部libvorbis.jsとしてウィンドウオブジェクトを公開し、後で実行するために、私の他のモジュール/コードによって必要とされ、これにリターンとしてVorbisMediaRecorderを取り出しますrequire 'imports-loader?this=>window!exports-loader?VorbisMediaRecorder!libvorbis.js/build/libvorbis.js'
。
しかし、自身libvorbis.jsそれはコードだで、このチェックを持っているエクスポート
libvorbis.jsからネジまでの輸出・ローダー「モジュール」変数が上書きされ
// node.js Environment
var module;
if (module && module.exports) {
makeVorbisEncoderModule({}, module);
}
// Web Worker Environment
if (!module && this.document === undefined) {
VorbisWorkerScript.main(this);
}
これはWebPACKの原因となるモジュールを上書きします
を実行しようとしているとして、このエラーcommons.js:142 TypeError: Cannot set property 'exports' of undefined
をスローします10
/*** EXPORTS FROM exports-loader ***/
module.exports = VorbisMediaRecorder;
この問題を解決する方法はありますか?私は本当にlibvorbisをフォークしてソースを変更したくありません。
libvorbis.jsライブラリは、ページにスクリプトとして含まれるように書かれています。