YAMLException:不完整的显式映射对

时间:2016-05-03 17:37:16

标签: node.js yaml webpack

我无法弄清楚我的语法在哪里。我已尝试过这个内容的一百种变体。我正在使用webpack中的yaml-loader。所以,一个javascript解析器。

---
colors:
  - orange:
    100: "#hexcode"
    75: "#hexcode"
    50: "#hexcode"
    25: "#hexcode"
  - red:
    100: "#hexcode"
    75: "#hexcode"
    50: "#hexcode"
    25: "#hexcode"

这是完整的错误:

    ERROR in ./~/json-loader!./~/yaml-loader!./data/colors.yaml
Module build failed: YAMLException: incomplete explicit mapping pair; a key node is missed at line 1, column 73:
     ... :\n    100: \"#hexcode\"\n    75: \"#hexcode\"\n

:

75:处有一个胡萝卜指针

1 个答案:

答案 0 :(得分:0)

不幸的是,解析YAML是一项复杂的工作;虽然这可能对某些解析器有效(例如Ruby的YAML解析这很好)但它可能对其他解析器无效。

它还取决于您需要colors所需的结构类型,目前Ruby将其表示为对象数组:

{"colors"=>
  [
    {"orange"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}, 
    {"red"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}
  ]
}

其中orangered是未定义的键(这是有意义的)。

您可能想要的是嵌套对象,如下所示:

---
colors:
  orange:
      100: "#hexcode"
      # ...
  red:
      100: "#hexcode"
      # ...