Bower同时安装两个版本的角度

时间:2015-09-01 10:03:11

标签: javascript angularjs version bower minify

我需要在同一个项目中使用bower安装角度1.3.18和1.4.5版本的角度。由于我的代码的某些部分使用角度1.3.18并且它的一些依赖性也使用1.3.18,同样的情况下其他版本也是如此。 如果我只使用一个版本,某些部分代码将被破坏。

如果我使用以下方法

"dependencies": {
"angular": "1.4.5",
"angular": "1.3.18"
}

它工作正常,在我缩小和uglify生成代码之后,只有一个版本的角度可用且部分代码被破坏。

请为我建议一个解决方案..

2 个答案:

答案 0 :(得分:1)

只需修改bower.json,如下所示:

{
  "dependencies": {
    "angular": "~1.4.5",
    "another_angular": "angular#1.3.18"
  }
}

现在,您another_angular的{​​{1}}文件夹中提供了another_angular个包。

注意:密钥bower_components可以随意更改(在JSON中可接受的属性名称的限制内!),但要注意目标文件夹会相应更改。

答案 1 :(得分:1)

虽然angular不是设计为在同一窗口中运行多个版本(它们都分配给window.angular),但可以使用此处描述的hack:

Multiple versions of AngularJS in one page

您遇到的缩小问题很可能是由于两个版本的角度分配给同一个全局变量window.angular,并且您的缩小器覆盖了该变量的一个赋值(对于1.3.18)与另一个(1.4.5)。