我刚刚阅读Dart's suggested packagout layout spec并对此有一些疑问:

  • 规范说,我应该将所有第3方软件包放入lib目录中。但是运行pub getpub upgrade会将这些软件包提取到packages目录中。那是什么?!?我应该运行pub get,将软件包下拉到packages,然后手动将其复制到lib吗?看来效率低下!
  • 该规范指出应该作为API一部分的软件包应该放在lib中,但是应该将内部软件包(不是API的一部分)放入lib/src中。因此,如果我的项目依赖于一个名为transmogrify的第三方软件包,我如何知道哪些transmogrify软件包是公共(public)API的一部分,应该放在lib中,哪些是“私有(private)”的并且应该放在lib/src中?这看起来很乏味!
  • Dart应用程序可以使用2种以上main()方法吗?为什么/为什么不呢?
  • 只需要确认以下文件应而不是才应 checkin VCS:
  • packages/**
  • build/**(由pub build生产)
  • pubspec.lock
  • 还有其他吗?
  • 最佳答案

  • 运行pub-get时,它将所有必需的软件包拉到您的packages目录中。保持结构不变。
  • 我的建议是使用在Dart编辑器中打开pubspec.yaml文件时可以在“添加软件包”中找到的软件包名称。
  • 号main()是程序入口点。所以一个程序,一个条目。
  • 您列出的内容差不多。要添加一个:.buildlog。
  • 10-07 19:30
    查看更多