Flutter Pub:解析块映射时需要一个键。小路:
Flutter Pub: Expected a key while parsing a block mapping. path:
我正在使用 JSON 文件并在 Pubspec.ymal
中注册但显示错误,而且当我使用图像并注册它时,也会发生相同的错误。可能里面格式有误,但是不知道是什么问题is.this是我跟的doc
Error on line 29, column 5 of pubspec.yaml: Expected a key while parsing a block mapping.
assets:
^
这是我的 pubspec.yaml
文件
name: jsondata description: A new Flutter application.
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- loadjson/person.json
空格在 YAML 中很重要
assets
缩进太远
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- loadjson/person.json
Error on line 29, column 4: Expected a key while parsing a block
mapping. assets:
flutter: uses-material-design: true assets:
- assets/images/image.jpg
在我的例子中,我只是在 uses-material-design: true
前面添加了 #
试试下面的代码
flutter:
# uses-material-design: true
assets:
- assets/images/image.jpg
它工作正常。
在我的案例中,图像太大而无法加载,减小图像尺寸有效。
在我的例子中,uses-material-design
缩进被破坏了。我在它前面放了 1(一)个 space,它工作正常。
请确保我们没有不需要的空格,因为yaml 结构敏感地考虑了空格。请参阅文档以获取更多信息,如下所示 link,
https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
这是因为你的 code.The uses-material-design
的缩进应该和 assets:
.
垂直在同一行
uses-material-design: true
assets:
- images/picture.png
空格在 .yaml 文件中非常重要。
只需确保您的代码根据键和值位于同一行(垂直)。
或
如果您仍然感到困惑,请观看这个简单的视频。帮你轻松解决问题。
如 @Baftek
所述,只需在 uses-material-design:true 之前缩进,然后按 Ctrl+Alt+l
(Intellij 或 Android Studio) 重新格式化文件。
删除评论,原始,默认生成pubspec.yaml看起来像这样
flutter:
uses-material-design: true
assets:
- images/abc.jpg
但这不成立。它不起作用。应该是:
flutter:
uses-material-design: true
assets:
- images/abc.jpg
重要提示:空格在 YAML 中很重要
问题与缩进间距有关,请检查您的间距,它应该可以正常工作
字体:
- 系列:CM Sans Serif
字体:
- 资产:assets/fonts/cm_sans_serif_2012.ttf
**第 46 行第 4 列错误:解析块映射时需要一个键。资产:
flutter: uses-material-design: 真实资产: - assets/dhaka.jpg**
确保取消注释该行时请检查缩进。
如果缩进错误,就会出错。
流动此图像。
编码愉快!!!
yml文件中的space要小心
如果images
文件夹在lib
文件夹旁边,则需要./
,因为它与pubspec.yaml
不在同一层级,那么,在pubspec.yaml
取消注释:
assets:
- ./images/ //Watch for spaces and indentation!!
现在您可以使用它们了:
Image.asset(
'../images/nature.png',
width: 600,
height: 240,
fit: BoxFit.cover,
),
在 pubspec.yaml.
中取消注释 assets
和 image link sample
后出现同样的问题
如果您遇到 assets
的问题,就像我一样。确保它以相同的列开始(以与预定义 属性 相同的缩进开始,如 uses-material-design
)。在我取消注释后,他们的位置不同了。
之后问题就解决了
资产应与 uses-material-design:
在同一行
uses-material-design: true
assets:
- images/myimage.jpg
pubspec.yaml
的缩进规则
uses-material-design = 2 个空格
资产 = 2 个空格
-图片/ = 4 个空格
字体:= 2 个空格
-family:=4个空格
字体:= 6 个空格
-资产:= 8 个空格
我正在使用 JSON 文件并在 Pubspec.ymal
中注册但显示错误,而且当我使用图像并注册它时,也会发生相同的错误。可能里面格式有误,但是不知道是什么问题is.this是我跟的doc
Error on line 29, column 5 of pubspec.yaml: Expected a key while parsing a block mapping. assets: ^
这是我的 pubspec.yaml
文件
name: jsondata description: A new Flutter application.
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- loadjson/person.json
空格在 YAML 中很重要
assets
缩进太远
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- loadjson/person.json
Error on line 29, column 4: Expected a key while parsing a block mapping. assets:
flutter: uses-material-design: true assets: - assets/images/image.jpg
在我的例子中,我只是在 uses-material-design: true
#
试试下面的代码
flutter:
# uses-material-design: true
assets:
- assets/images/image.jpg
它工作正常。
在我的案例中,图像太大而无法加载,减小图像尺寸有效。
在我的例子中,uses-material-design
缩进被破坏了。我在它前面放了 1(一)个 space,它工作正常。
请确保我们没有不需要的空格,因为yaml 结构敏感地考虑了空格。请参阅文档以获取更多信息,如下所示 link,
https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
这是因为你的 code.The uses-material-design
的缩进应该和 assets:
.
uses-material-design: true
assets:
- images/picture.png
空格在 .yaml 文件中非常重要。
只需确保您的代码根据键和值位于同一行(垂直)。
或
如果您仍然感到困惑,请观看这个简单的视频。帮你轻松解决问题。
如 @Baftek
所述,只需在 uses-material-design:true 之前缩进,然后按 Ctrl+Alt+l
(Intellij 或 Android Studio) 重新格式化文件。
删除评论,原始,默认生成pubspec.yaml看起来像这样
flutter:
uses-material-design: true
assets:
- images/abc.jpg
但这不成立。它不起作用。应该是:
flutter:
uses-material-design: true
assets:
- images/abc.jpg
重要提示:空格在 YAML 中很重要
问题与缩进间距有关,请检查您的间距,它应该可以正常工作
字体:
- 系列:CM Sans Serif
字体:
- 资产:assets/fonts/cm_sans_serif_2012.ttf
**第 46 行第 4 列错误:解析块映射时需要一个键。资产:
flutter: uses-material-design: 真实资产: - assets/dhaka.jpg**
确保取消注释该行时请检查缩进。 如果缩进错误,就会出错。 流动此图像。 编码愉快!!!
yml文件中的space要小心
如果images
文件夹在lib
文件夹旁边,则需要./
,因为它与pubspec.yaml
不在同一层级,那么,在pubspec.yaml
取消注释:
assets:
- ./images/ //Watch for spaces and indentation!!
现在您可以使用它们了:
Image.asset(
'../images/nature.png',
width: 600,
height: 240,
fit: BoxFit.cover,
),
在 pubspec.yaml.
中取消注释assets
和 image link sample
后出现同样的问题
如果您遇到 assets
的问题,就像我一样。确保它以相同的列开始(以与预定义 属性 相同的缩进开始,如 uses-material-design
)。在我取消注释后,他们的位置不同了。
之后问题就解决了
资产应与 uses-material-design:
在同一行 uses-material-design: true
assets:
- images/myimage.jpg
pubspec.yaml
的缩进规则uses-material-design = 2 个空格
资产 = 2 个空格
-图片/ = 4 个空格
字体:= 2 个空格
-family:=4个空格
字体:= 6 个空格
-资产:= 8 个空格