【问题标题】:Grunt: Access YAML symbols in external fileGrunt:访问外部文件中的 YAML 符号
【发布时间】:2016-06-28 02:37:15
【问题描述】:

我正在尝试从我的 Gruntfile 中的外部 YAML 文件中引用值。我正在阅读 YAML,使用没有问题:

external_config: grunt.file.readYAML('config.yml')

我的config.yml 文件包含以下内容:

foo: abc
:bar: def

我可以使用 <% %> 模板在我的 Gruntfile 中获取 foo 的值就好了:

foo: '<%= external_config.foo %>'

但我似乎无法获得:bar 的值。我知道键前面的冒号表示一个符号 (Colon in the front: YAML syntax),但我不知道如何从我的 Gruntfile 中获取它的值。

bar: '<%= external_config.bar %>' // doesn't work
bar: '<%= external_config.:bar %>' // throws error "Unexpected token :"
bar: '<%= external_config.\:bar %>' // throws error "Unexpected token :"

我无法修改 YAML 文件。有没有办法做到这一点?

【问题讨论】:

  • 1) 如果你用--verbose 运行 grunt 会发生什么? 2)你试过external_config[':bar']吗?
  • @mparnisari external_config[':bar'] 就像一个魅力 - 谢谢!请将其添加为答案,以便我将其标记为已接受。

标签: javascript gruntjs yaml


【解决方案1】:

在模板中使用external_config[':bar']。

说明:Grunt 只是普通的 JavaScript,因此您可以使用方括号表示法访问对象的属性。

【讨论】:

    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 2013-09-09
    • 2023-03-27
    • 1970-01-01
    • 2012-06-14
    • 2017-01-19
    相关资源
    最近更新 更多