2016-11-21 6 views
1

例えば、webpackや他のモジュールバンドラで必要とされてバンドルされているときに、角度インスタンスをグローバル(ウィンドウ)スコープに注入することはできますか?角窓注入

require('./angular'); 
module.exports = angular; 

マイWebPACKのエントリファイルの内容は次のとおりです:

import angular from 'angular'; 

// my custom code goes here 

ので、メインWebPACKのタスクは変数を漏洩しないようにすることである角度NPMパッケージ内の現在のメインのJavaScriptファイルであることを私を

を発見しましたしかし、私がChrome DevToolsで次のようにログに記録しようとすると、次のようになります:

console.log(angular); // => Object {version: Object, callbacks: Object} 

私は、その角度のインスタンスが注入されることがわかります。これを防ぐためのアイデアはありますか?

追加情報:
Angular.jsバージョン - 1.6.0-rc.0
WebPACKのバージョン - 2.1.0-beta.27

更新。

答えて

0

それはハード公表NPMコードにコード化されているようそれはどんなwindowオブジェクトにグローバル角度変数を割り当てないように見えます:

angular   = window.angular || (window.angular = {}) 

だから起きてからそれを防止するための直接的な方法はありません。ロード後は常にdelete window.angularになる可能性がありますが、ライブラリには影響しません。

+0

私のアイデアは、1つのページで角度の異なるバージョンを使用するためのグローバルスコープへの角度インスタンス注入を防止しています。ウィンドウオブジェクトの角度変数を削除するのは私には適していません。 –

+0

私が望むことをする唯一の方法は、角度源を編集することですか? –

+0

変数 'var localAngular = window.angular;として保存することができます。 window.angular'を削除してから、別のバージョンを要求します。しかし、悪夢のような角音の2つのバージョンを必要とし、私はそれをしないだろう –