Node.js YAMLException:不完整的显式映射对
我搞不清楚我的语法哪里不正确。我试过一百种不同的内容。我正在使用webpack中的yaml加载程序。因此,一个javascript解析器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
---
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实现支持。)