にテザーを添付していないようです私は、ブラウザで次のエラーを取得する:Browserifyシムは、私は私のpackage.jsonファイルに次のように持っているウィンドウオブジェクト
tether.min.js:1 Uncaught TypeError: Cannot set property 'Tether' of undefined
しかし、私はテザーをシムしようとばかりにwindow.Tether
を使用しない場合それを必要とするモジュール、それは正常に動作します。
const $ = require('jquery');
window.Tether = require('tether');
このようにbrowserify-shimがTetherで動作しない理由を知っている人はいますか?
ちなみに、パスはそれぞれの 'package.json'ファイルの' main'ディレクティブによって設定されているので、 'browser'ディレクティブを使用する必要はありません。 – YPCrumble
ええ、node_modulesから直接要求することができます(あなた自身のパッケージファイルを使って)。シムを使っていたのは、それをグローバルな「窓」にさらしたと思ったからです。 – davidpauljunior
'browser'指示文は、Browserifyコアの一部であるBrowserifyが使用するファイルを上書きするエイリアスを提供するためのものです。https://github.com/substack/node-browserify#browser-fieldを参照してください。私はあなたのアプリケーションの残りの部分に 'Tether'を世界中で利用できるようにするために、あなたの' window.Tether'を使う方法が正しいと思います。もう一つの選択肢は、CDN経由でTetherを引っ張って、それが利用可能であれば、['global'](https://github.com/thlorenz/browserify-shim#a-expose-global-variables-via-global)の設定から引き出すことですあなたのバンドルにコードを再組み込むのではなく、既存の 'window'を使用します。 – YPCrumble