角窗注入

时间:2016-11-21 00:50:54

标签: javascript angularjs webpack commonjs umd

是否可以在需要时将角度实例注入全局(窗口)范围,并与webpack或任何其他模块捆绑包捆绑在一起?

我发现当前角度为npm包的主要javascript文件是:

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

我的webpack条目文件内容是:

import angular from 'angular';

// my custom code goes here

因此,主要的webpack任务是防止泄漏变量到全局范围,但如果我尝试在Chrome DevTools中记录角度,请执行以下操作:

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

我将看到,注入了角度实例。有什么想法可以防止这种情况吗?

其他信息:
Angular.js版本 - 1.6.0-rc.0
Webpack版本 - 2.1.0-beta.27

更新

1 个答案:

答案 0 :(得分:0)

看起来它已被硬编码到已发布的NPM代码中,无论如何将全局Angular变量分配给window对象:

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

所以没有直接的方法来防止它发生。加载后你总是delete window.angular,但没有不会影响库的承诺。