Meteor和AngularJS分隔符冲突

时间:2014-11-19 16:43:18

标签: angularjs meteor angularjs-directive

Meteor正在使用带有小胡子{{}}的把手 Angular使用带有相同分隔符{{}}

的插值

然后,在Meteor上使用AngularJS会导致明显的冲突。

幸运的是,有一种方法可以使用例如[[]]更改AngularJS分隔符:

var myApp = angular.module('myApp', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
});

据我所知,没有办法改变Meteor的,也不能禁用Blaze。

我仍然遇到了副作用:在尝试使用离线框架等第三方框架时,某些指令在自己的代码中使用了{{}}分隔符。这意味着用{{}}替换[[]]只是打破了项目的其他部分......

  • 强力解决方案是使用预处理器搜索所有{{}}次出现并将其替换为[[]]。
  • 解决方法是使用我知道的代码手动包装或替换非工作指令。

两者看起来都很麻烦...我希望能够仅在我的包裹上更改开始和结束符号,但这是否可行?

1 个答案:

答案 0 :(得分:1)

是的,这是一件非常讨厌的事情......

AngularJS让你这么做是惊人的,但Meteor却没有。

与此同时,开发人员编写的许多软件包都会为您处理,例如Ionic: https://github.com/Urigo/meteor-ionic

另一种可能的解决方案是使用Gulp或Grunt或创建一个任务来扫描Meteor项目中的所有模板并将其更改为[[]]

当然,最好的解决方案是能够将Bower软件包导入Meteor并能够按原样添加它们。

以下是与您可以关注的+1相关的问题:

https://github.com/meteor/meteor/issues/2765

https://github.com/mquandalle/meteor-bower/issues/30