Node.js YAMLException:不完整的显式映射对

Node.js YAMLException:不完整的显式映射对,node.js,yaml,webpack,Node.js,Yaml,Webpack,我搞不清楚我的语法哪里不正确。我试过一百种不同的内容。我正在使用webpack中的yaml加载程序。因此,一个javascript解析器 --- colors: - orange: 100: "#hexcode" 75: "#hexcode" 50: "#hexcode" 25: "#hexcode" - red: 100: "#hexcode" 75: "#hexcode" 50: "#hexcode" 25: "#hex

我搞不清楚我的语法哪里不正确。我试过一百种不同的内容。我正在使用webpack中的yaml加载程序。因此,一个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:

中有一个胡萝卜指针,不幸的是,解析YAML是一项复杂的工作;因此,虽然这可能对某些解析器有效(例如Ruby的
YAML
可以很好地解析它),但对其他解析器可能无效

它还取决于您需要什么样的结构
颜色
,目前Ruby将其表示为一个对象数组:

{"colors"=>
  [
    {"orange"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}, 
    {"red"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}
  ]
}
其中
橙色
红色
是未定义的键(这很有意义)

您可能需要这样一个嵌套对象:

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

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

它还取决于您需要什么样的结构
颜色
,目前Ruby将其表示为一个对象数组:

{"colors"=>
  [
    {"orange"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}, 
    {"red"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}
  ]
}
其中
橙色
红色
是未定义的键(这很有意义)

您可能需要这样一个嵌套对象:

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

你需要发布更多关于你的问题的信息。您是否遇到分析错误?一个你没想到的结构?你看到了什么?也就是说,一个常见的错误是yaml对空格敏感:制表符和空格在行首是不可交换的,特别是在需要缩进的地方。感谢@BadZen的反馈-这是一个解析错误(在标题中引用,现在添加到正文中以更加明确)-我已经设置了空间环境的自动选项卡。也许你可以看看新的错误报告,看看有没有什么值得注意的地方?感谢虽然您的YAML可能无法实现您想要的功能(因为
橙色
和以下几行处于同一级别),但它绝对有效。如果您在这里遇到语法分析器错误,请将其报告为bug。您需要发布更多关于您的问题的信息。您是否遇到分析错误?一个你没想到的结构?你看到了什么?也就是说,一个常见的错误是yaml对空格敏感:制表符和空格在行首是不可交换的,特别是在需要缩进的地方。感谢@BadZen的反馈-这是一个解析错误(在标题中引用,现在添加到正文中以更加明确)-我已经设置了空间环境的自动选项卡。也许你可以看看新的错误报告,看看有没有什么值得注意的地方?感谢虽然您的YAML可能无法实现您想要的功能(因为
橙色
和以下几行处于同一级别),但它绝对有效。如果你在这里发现了一个解析器错误,请将其报告为bug。谢谢你的回答,不幸的是这仍然不起作用。我已经编辑了这个问题,并提供了有关错误的更多详细信息。这是一个javascript解析器,但我并不是真的打破了“yaml创造力”的界限——也许新的编辑显示了一些新的东西?Nick的建议怎么不起作用?这似乎是正确的解决方案。该格式存在相同的解析错误。我尝试了两种不同的解析器。这可能是某种错误。行尾问题?错误消息报告错误发生在第1行,该行没有73个字符。尝试在CRLF和LF之间切换。(两者都必须得到YAML实现的支持。)感谢您的回答,不幸的是,这仍然不起作用。我已经编辑了这个问题,并提供了有关错误的更多详细信息。这是一个javascript解析器,但我并不是真的打破了“yaml创造力”的界限——也许新的编辑显示了一些新的东西?Nick的建议怎么不起作用?这似乎是正确的解决方案。该格式存在相同的解析错误。我尝试了两种不同的解析器。这可能是某种错误。行尾问题?错误消息报告错误发生在第1行,该行没有73个字符。尝试在CRLF和LF之间切换。(两者都必须由YAML实现支持。)