我有一个web目录,其中包含一些css和js文件:
├── bootstrap-wysiwyg
│ ├── index.html
│ ├── packages -> ../../packages
│ └── republish.sh
├── css
│ ├── bootstrap-combined.no-icons.min.css
│ ├── packages -> ../../packages
│ ├── prettify.css
│ └── screen.css
├── images
│ └── packages -> ../../packages
├── js
│ ├── bootstrap.min.js
│ ├── packages -> ../../packages
│ ├── prettify.js
│ └── prettify.js.1
├── lib
│ ├── font-awesome-3.2.1
│ └── packages -> ../../packages
└── packages -> ../packages您可以看到,在web目录的每个子目录中都有一个packages链接。我删除了它们一次,但它会在我运行pub install时出现。
我不明白为什么pub会为我创建它们,有什么方法可以禁用它吗?我不需要它们,因为当我在IDEA Dart插件中运行build命令时,它会报告错误,因为它不能正确处理它们。
发布于 2013-07-16 23:16:18
当Dart看到像这样的导入时:
import 'package:foo/foo.dart';它将其翻译为:
import '<url of your entrypoint>/packages/foo/foo.dart';所以,假设你的应用程序的入口点在:
myapp/web/app/main.dart如果它有一个"package:“import,就像上面一样,它会把它重新映射到:
import 'myapp/web/app/packages/foo/foo.dart';这意味着Dart要能够找到foo.dart,app中需要有一个包含foo/foo.dart的packages目录。pub的一部分工作就是为你设置它。
这绝对不是使用Dart和pub时最好的部分。到处抛出符号链接是很粗俗的,但它解决了语言对我们施加的限制。随着时间的推移,我们希望不再需要创建这些符号链接。
有关此here的更多详细信息。
https://stackoverflow.com/questions/17639004
复制相似问题