如何在开发和生产模式中区分指令的templateUrl值?

时间:2015-11-08 10:07:09

标签: angularjs angularjs-directive

众所周知,指令可以有templatetemplateUrl成员。对于大型html模板,应使用templateUrl

我需要使用后者,但我不知道如何在不重写templateUrl的值的情况下为开发和生产创建不同的文件结构。

例如,

  • 在我的开发中我需要写templateUrl: 'src/angular/components/[feature]/[feature].html'
  • 在我的制作中我需要templateUrl: 'views/components/...'

我有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以添加$http拦截器,并根据不同的配置替换您网址中的特殊令牌。

示例:

app.config(function ($httpProvider) {
         $httpProvider.interceptors.push(function ($q) {
             return {
                 'request': function (config) {
                     config.url = modifyYourURL(config.url); // MODIFY THE URL
                     return config || $q.when(config);
                 }
             }
         });
     });