如何跨多个角度应用程序共享相同的配置

 大眼-猫_945 发布于 2022-12-07 12:14

我的网站上的所有角度应用程序都有相同的配置块,所有这些都在不同的文件中.

app_1.config([
  "$httpProvider", function($httpProvider) {
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
  }
]);

app_2.config([
  "$httpProvider", function($httpProvider) {
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
  }
]);

app_3.config([
  "$httpProvider", function($httpProvider) {
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
  }
]);

是否有标准的抽象方法?

1 个回答
  • 您可以创建另一个模块"myApp.common"甚至"myApp.common.configs",并在该模块中保留您的通用实现,并将该模块作为依赖项包含在需要它们的其他模块中.

    例:-

    /*Create an app that has the common configuration used in your app clusters*/
    angular.module('app.common', []).config([
      "$httpProvider", function($httpProvider) {
        $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
      }
    ]);
    

    //Include common module as well as a part of other dependencies your app may have
    var app_1 = angular.module('app1', ['app.common', 'somedep', ...]); 
    var app_2 =angular.module('app2', ['app.common']);
    //...
    

    另外,我会避免将模块存储在全局变量中,如示例所示,而是在需要时更喜欢使用模块getter语法.例如: - angular.module('app1').service(...,angular.module('app1').config(...等等.

    2022-12-11 02:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有