いくつかの手順を要約して、後で質問します
underscore.jsサードパーティのJavaScriptコンポーネントの開発時にインストールに失敗しました(ここで説明されているように:Underscore.jsとnoconflict)。私のコードには、underscore.jsの異なるバージョンの衝突を避けるために次の行が含まれていました:window。$MyUS= _.noConflict();
underscore.jsコードを調べたところ、exportsまたはmodule.exportsが定義されている場合、変数はまた_はのメンバーになることがわかりました。それはちょうど起こった(もちろん、Node.jsではなくブラウザで)。exportsmodule.exportsオブジェクトを脇に保存して、
exportsロードする前に削除しunderscore.js、を呼び出した直後に復元しようとしましたnoConflict()。ただし、を呼び出すとdelete exports、が表示されます。これは、削除できないことfalseを意味します。exportsexportsオブジェクト内に2つのメンバー関数が見つかりました:compile()とcompileToString()。それらの実装を調べることで、おそらくJavascript APILFを参照している参照を見つけました( http://www.livefyre.com/docs/javascript-sdk-reference)livefyre
競合を解決するためのより良い方法はどれですか?次のオプションが表示されます。
underscore.jsコードを変更して、
exportsオブジェクトに自分自身をインストールしようとしないようにします。underscore.jsでオブジェクトを変更し、どのサイトでも問題が発生しないことを期待します。その場合、次のように行
exportsを書き直す必要があります。window.$MyUS = _.noConflict();window。$MyUS= .noConflict || 輸出。.noConflict()|| ...; //明確にするために健全性チェックは省略されています、明らかに本番コードはより堅牢でなければなりません
さらに情報が必要な場合は、お問い合わせください。