模拟build_runner在nodeJs服务器上服务

时间:2018-06-26 14:50:24

标签: dart dart-pub

随着几天前Dartium的到期,我感到不得不从dart 1.24.3迁移到Dart2,即使它仍处于开发阶段。

尽管这样做有些困难,但其中之一与我的应用程序的体系结构有关。

我运行一个nodeJs服务器,该服务器还充当带有客户端dart的Web服务器。 我在使用新的dart SDK时遇到的问题是,要在Chrome中读取.dart文件,必须使用webdev servebuild_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提供的服务包括了他们吗?

谢谢

2 个答案:

答案 0 :(得分:1)

这些文件从dart sdk本身的lib目录中提供。

请注意,还有另一个选项,即使用build_runner中的-o选项。这将创建一个包含源文件和生成文件的合并目录,您可以在不依赖任何内部文件布局的情况下直接使用该目录。

答案 1 :(得分:1)

在开发过程中有2种选择可使用不同的服务器。

  1. 在其他端口上运行build_runner serve,然后将其他服务器上的请求代理到该端口。这样做的好处是在构建过程中延迟请求,这样您就不会获得不一致的资产集。
  2. 运行build_runner watch --output web:build,并使用创建的build/目录提供文件。这将包括一个build/packages目录,其中包含这些文件。
相关问题