Angular 2 - 如何使用配置文件

2024-03-06

在 ZF2 中工作时,我们使用的配置文件可能因开发人员、生产环境和登台环境而异。它非常方便,因此我想在 Angular 2 中复制它。

它在 ZF2 中的工作原理:我们有一个配置文件夹,其中的配置名为:settings.local.php 和 settings.global.php。然后我们使用 gitignore 文件来忽略其中包含 local 的任何内容。

我想用 Angular 2 做类似的事情,但我不能 100% 确定实现此目的的最佳方法。

对于 Angular 2,我正在考虑拥有一个配置文件夹,然后使用服务来获取配置文件......

Angular 2 中有这样的约定吗?


我也有 ZF2 背景,想要这种功能。我不能保证这是实现这一目标的“惯例”,但它非常适合我和我的情况。

简而言之,我使用 JSON 配置文件和咕噜常量 https://github.com/werk85/grunt-ng-constant(需要Grunt http://gruntjs.com/ obvs..)

My ngconstant配置在我的Gruntfile.js看起来像这样:

ngconstant: {
    options: {
        constants: {
            config: grunt.file.readJSON('config/config.global.json')
        },
        name: 'constants',
        dest: 'public/js/src/config.js',
        wrap: '/* global angular */\n\n(function ()\n{\n\t\'use strict\';\n\t\n\t{%= __ngModule %}\n\t\n})();\n'
    },
    dev: {
        constants: {
            config: grunt.file.readJSON('config/config.dev.json')
        }
    },
    live: {
        constants: {
            config: grunt.file.readJSON('config/config.live.json')
        }
    }
}

所有文件的位置取决于您..但其理论是config.global.json是所有默认配置所在的位置。然后取决于你是否跑步ngconstant:live or ngconstant:dev它将把相应的配置与全局合并并覆盖任何重叠。

这会将配置保存到新的 Angularconstant, public/js/src/config.js,然后我可以将其注入到我想要的任何服务/控制器中。

/**
 * My Controller
 */
angular
    .module('ctrls')
    .controller('myCtrl', myCtrl);

/**
 * @param $scope
 * @param config
 */
function myCtrl($scope, config)
{
    $scope.someConfig = config.someConfigValue;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 - 如何使用配置文件 的相关文章

随机推荐

  • C++ 如何在不同位置用新字符串填充静态字符串数组?

    说我得到了这个 char MapIds 5000 Northeast Asia Hanyang Pusan Pyongyang Shanghai Beijing Hong Kong 5000 values etc I tried strcp
  • 如果输入值等于特定文本,则显示 div

    我正在缓慢但坚定地学习 jQuery 所以请原谅我的无知 我做了很多谷歌搜索 得到了下面弗兰肯斯坦的例子 在此示例中 如果用户在框中输入 Kasey input 我希望 div pete 有display block 提前致谢 p Name
  • 为 Postgresql 安装 Npgsql.dll

    所以我在安装 npgsql dll 和 mono security dll 时遇到问题 我长期以来一直试图解决这个问题 请帮忙 这是我已完成的步骤 从以下位置下载 zip 文件https github com npgsql npgsql h
  • 在 ListView 数据模板 WPF 中绑定 UserControl

    所以我有这个问题 我创建了一个用户控件 基本上是一个文本框和标签 我可以使用依赖属性来绑定此用户控件 我有一个 ListView 可以在其中在数据模板中放置一个文本框并将 文本 属性绑定到绑定值 到目前为止 一切都很好 但现在 如果我尝试将
  • 重载解引用运算符

    我试图重载取消引用运算符 但编译以下代码会导致错误 initializing cannot convert from X to int struct X void f int operator const return 5 int main
  • 在 ASP.NET 服务器端验证 Recaptcha 2(无 CAPTCHA reCAPTCHA)

    新的验证码 2 http googleonlinesecurity blogspot com 2014 12 are you robot introducing no captcha html看起来很有希望 但我没有找到在 ASP NET
  • 在 Symfony 2.0.x 中自动加载非 PSR0 库

    The Symfony 2 0 Autoloader期望它可以处理的库遵循PSR0 or PEAR自动加载文件时的标准 如果您有一个不遵循这两个标准中任何一个的旧库 在我的例子中 类文件的命名类似于 name class php 您将如何处
  • 将 ui-router 与 Bootstrap-ui 模式结合使用

    我知道这已经被讨论过很多次了 大多数文章都引用了这段代码 AngularJS 中带有自定义 URL 的模态窗口 https stackoverflow com a 21213422 1031184 但我就是不明白 我觉得这根本不是很清楚 我
  • 如何在 Zend Framework 中的布局中包含页眉和页脚?

    我想让 Zend Layout 包含 header phtml 和 footer phtml 以及 layout name phtml 我怎么做 我尝试阅读Zend Layout Zend Layout Controller Plugin
  • 如何在 android 中制作具有自定义布局的 google plus 按钮?

    我想为我的 google plus 按钮创建自定义布局 有什么想法吗 我尝试调用 google plus 按钮的 OnClickEvent 这不起作用 并且尝试更改背景图像 源代码
  • Angular module().factory() 不是 concat (gulp) 之后的函数

    试图连接 丑化我的angular应用程序使用gulp在过去的几个小时里 我将整个过程简化为简单的 concat 甚至将角度文件从 concat 过程中删除到单独的
  • 如何使用 clang-format 3.9 忽略文件或目录

    我目前正在使用 travis ci 在补丁进入 github 时检查补丁 并试图找出 clang format 3 9 是否有 因为 travis ci 目前仅支持最新的 ubuntu 14 04 在扫描时忽略整个目录或文件变化 我的 tr
  • ASP.NET Web API 的不同返回类型

    我正在尝试使用 ASP NET MVC 4 Web API 通过 HTTP 编写真正的 RESTful Web 服务 我当前面临的挑战是根据我的状态代码返回不同的返回类型 实体主体 例如 对于资源 Hammer 我有一个 NET 模型类 H
  • 在 HTML 画布上为 T 恤填充颜色并相应地更改文本颜色

    我在画布上绘制了一件 T 恤 当前正在尝试当用户在上面的菜单上选择一种颜色时填充它 此外 我希望 T 恤上的文字相应地更改 例如 如果选择黑色 则 T 恤文字颜色应为白色 这可能吗 到目前为止的代码片段 T shirt color br
  • 如何使用 python Imaging 创建新的彩色图像?

    我想创建一个新图像 背景颜色 这个工作 img Image new RGB width height red 但我想定制颜色 当我将 红色 更改为 228 150 150 时 它不起作用 你有想法这样做吗 这对我有用 请注意 颜色元组不在引
  • 如何从 numpy.ndarray 中随机选择一些非零元素?

    我已经实现了一个矩阵分解模型 比如 R U V 现在我要训练和测试这个模型 为此 给定一个稀疏矩阵 R 缺失值为零 我想首先在训练中隐藏一些非零元素 并在稍后使用这些非零元素作为测试集 如何从 numpy ndarray 中随机选择一些非零
  • 标头已发送...哪里? [复制]

    这个问题在这里已经有答案了 有人知道如何在此脚本中发送标头吗 我正在使用此脚本来验证表单 因此 它导致发送标头 因此当我在实现此脚本后尝试引导用户时 它会导致正常的 警告 无法修改标头信息 标头已发送 消息 这是脚本
  • 使用 jQuery 作为依赖项而不用 RequireJS 加载 jQuery?

    考虑以下页面 当未加载 RequireJS 时 如何使用 jQuery 作为 RequireJS 模块的依赖项 我知道jQuery 暴露了自己 https github com jquery jquery blob 861a45b8fffc
  • 如何在CSS中对齐两列文本

    我在排列一些文本时遇到一些麻烦 我需要两列 一列包含数字 一列包含文本 如下所示 1 条目一2 条目二3 条目三4 条目五5 条目六 左栏是 Georgia 右栏是 Arial 字体大小略有不同 我可以为每一行设置一个容器 div 并将数字
  • Angular 2 - 如何使用配置文件

    在 ZF2 中工作时 我们使用的配置文件可能因开发人员 生产环境和登台环境而异 它非常方便 因此我想在 Angular 2 中复制它 它在 ZF2 中的工作原理 我们有一个配置文件夹 其中的配置名为 settings local php 和