pubspec.yaml中的“解析块映射时预期键”

时间:2019-09-24 07:07:28

标签: flutter dart

我是初学者。

我想在项目中使用资产图片,我创建了名为 资产并将图像粘贴到其中。

我只是按照讲师的步骤操作,然后修改了 pubspec 文件。

文件是这样的:

uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #  - images/a_dot_burr.jpeg

我只是对此发表评论并修改为我的图片路径:

uses-material-design: true

  # To add assets to your application, add an assets section, like this:
   assets:
    - assets/type1.png

当我按下运行按钮时,此错误发生在我身上:

  

在pubspec.yaml中检测到错误:

     

第44行,第4列的错误:解析块时需要键   映射。
  ╷

     

44│资产:

     

│^

     

注释: 这是 pubspec 文件中的第一次修改。

4 个答案:

答案 0 :(得分:0)

您的assets需要与键uses-material-design对齐,.yaml文件应在正确缩进我认为可以正常工作的代码后,对其内部的代码进行缩进。

答案 1 :(得分:0)

空格和缩进在YAML中是有意义的

  #  - images/a_dot_burr.jpeg
  #  - images/a_dot_ham.jpeg
  assets:
    - assets/images/

答案 2 :(得分:0)

这是@chunhunghan@Kushagra Saxena 答案的组合版本(为了更好地理解)

当您第一次尝试将资产文件夹添加到 pubspec.yaml 文件时,有两个选项。

  1. 取消对现有代码的注释并按照您想要的方式对其进行编辑。

  2. 删除或保留评论资产部分并自行添加新资产部分。

最初部分(pubspec.yaml 文件的资产部分)如下所示。

   42   # The following line ensures that the Material Icons font is
   43   # included with your application, so that you can use the icons in
   44   # the material Icons class.
   45   uses-material-design: true
   46 
   47   # To add assets to your application, add an assets section, like this:
   48   # assets:
   49   #   - images/a_dot_burr.jpeg
   50   #   - images/a_dot_ham.jpeg

按照第一种方法(请参阅上面的两种方法)取消注释第 48 - 50 行不会使 assets(第 48 行) 与 uses-material-design: true(第 45 行)块。

如果你采用第二种方法,你很有可能会弄乱对齐方式。

对我来说,我信任重新格式化代码选项(在 VS 代码和 Android Studio 中都可用),但我失败了。所以我不得不自己纠正对齐方式。

正确的代码如下所示。

   42  # The following line ensures that the Material Icons font is
   43  # included with your application, so that you can use the icons in
   44  # the material Icons class.
   45  uses-material-design: true
   46
   47  # To add assets to your application, add an assets section, like this:
   48  assets:
   49    - assets/images/

现在键已对齐(第 45 行(uses-material-design: true)和第 48 行(assets:)),错误将消失。

答案 3 :(得分:0)

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/