【发布时间】:2019-01-26 23:07:33
【问题描述】:
我实际上参与了多个可以共享代码的飞镖项目。 (基于this exemple)
这个通用代码使用了一个名为json_serializable的库
我正在使用它为我的用户模型生成 json 序列化和反序列化方法。
我可以使用命令pub run build_runner build 开始构建。这样我就可以从user_model.dart生成user_model.g.dart(其中包含生成的序列化和反序列化方法)
回到我的项目,我将我的共享代码添加为依赖项。
我想使用我的user_model.dart,但有一个错误提示user_model.g.dart 不存在。事实上,我还没有启动构建来生成这个文件。
我正在尝试找到一种方法来启动我的库所需的这一代代码,但这必须从我的项目中完成。
我想我需要在我的库中添加一个构建文件,但我找不到如何去做:/
架构: Project X --using--> Lib共享代码 --using--> json_serialization
【问题讨论】:
-
你需要在使用
json_serializable的项目中运行pub run build_runner build而不是在使用json_serializable的共享项目中运行。 -
@GünterZöchbauer 这可能是一个解决方案,但我没有在 git 存储库上提交生成的文件。也许我必须......但我正在考虑从项目中构建它们......这是做图书馆的错误方式吗?每次发布库时都必须生成文件吗? ??????
-
“我没有在 git 存储库中提交生成的文件。”那不飞。只要承诺并做好。
build_runner不会仅在运行它的项目中生成依赖项中的代码。
标签: dart flutter angular-dart dart-pub