随着几天前Dartium的到期,我感到不得不从dart 1.24.3迁移到Dart2,即使它仍处于开发阶段。
尽管这样做有些困难,但其中之一与我的应用程序的体系结构有关。
我运行一个nodeJs服务器,该服务器还充当带有客户端dart的Web服务器。
我在使用新的dart SDK时遇到的问题是,要在Chrome中读取.dart文件,必须使用webdev serve
或build_runner serve
来提供它们。
很明显,这两个命令充当文件服务器,这不是我想要的,因为我使用的是nodeJS服务器。
通过使用build_runner watch
,我认为我可以在以下目录内的.dart.js中构建和监视.dart文件:
.dart_tool / build / generated // lib
我还可以通过我的nodeJS服务器为其提供服务。剩下的就是程序包目录,我似乎找不到pub服务的位置获取以下程序包文件:
/packages/$sdk/dev_compiler/amd/require.js /packages/$sdk/dev_compiler/amd/dart_sdk.js
有人知道build_runner提供的服务包括了他们吗?
谢谢
答案 0 :(得分:1)
这些文件从dart sdk本身的lib
目录中提供。
请注意,还有另一个选项,即使用build_runner中的-o
选项。这将创建一个包含源文件和生成文件的合并目录,您可以在不依赖任何内部文件布局的情况下直接使用该目录。
答案 1 :(得分:1)
在开发过程中有2种选择可使用不同的服务器。
build_runner serve
,然后将其他服务器上的请求代理到该端口。这样做的好处是在构建过程中延迟请求,这样您就不会获得不一致的资产集。build_runner watch --output web:build
,并使用创建的build/
目录提供文件。这将包括一个build/packages
目录,其中包含这些文件。