模仿 build_runner 在 nodeJs 服务器上服务
Mimicking build_runner serve on a nodeJs server
随着几天前 Dartium 的到期,我觉得有必要从 dart 1.24.3 迁移到 Dart2,尽管它仍在开发中。
虽然我在这样做时遇到了一些问题,其中之一与我的应用程序的架构有关。
我 运行 一个 nodeJs 服务器,它也充当带有客户端 dart 的网络服务器。
我在使用新的 dart SDK 时遇到的问题是,为了在 Chrome 中读取 .dart 文件,必须使用 webdev serve
或 build_runner serve
.[=16= 来提供它们。 ]
显然,这 2 个命令充当文件服务器,这不是我想要的,因为我使用的是 nodeJS 服务器。
通过使用 build_runner watch
我想我正在将 .dart 文件构建和监视到以下目录中的 .dart.js 中:
.dart_tool/build/generated//lib
我也可以通过我的 nodeJS 服务器为它们提供服务。剩下的是包目录,我似乎找不到 pub serves 从哪里获取以下包文件:
/packages/$sdk/dev_compiler/amd/require.js
/packages/$sdk/dev_compiler/amd/dart_sdk.js
有谁知道 build_runner serve 做了什么来包含它们?
谢谢,
这些文件来自 dart sdk 本身的 lib
目录。
注意还有一个选项,就是使用build_runner中的-o
选项。这将创建一个包含源文件和生成文件的合并目录,您可以直接使用该目录而不依赖任何内部文件布局。
在开发期间使用不同的服务器有 2 个选项。
- 运行
build_runner serve
在不同的端口上,并将请求从您的其他服务器代理到它。这样做的好处是可以在构建过程中延迟请求,这样您就不会得到不一致的资产集。
- 运行
build_runner watch --output web:build
并使用创建的 build/
目录来提供文件。这将包括一个包含这些文件的 build/packages
目录。
随着几天前 Dartium 的到期,我觉得有必要从 dart 1.24.3 迁移到 Dart2,尽管它仍在开发中。
虽然我在这样做时遇到了一些问题,其中之一与我的应用程序的架构有关。
我 运行 一个 nodeJs 服务器,它也充当带有客户端 dart 的网络服务器。
我在使用新的 dart SDK 时遇到的问题是,为了在 Chrome 中读取 .dart 文件,必须使用 webdev serve
或 build_runner serve
.[=16= 来提供它们。 ]
显然,这 2 个命令充当文件服务器,这不是我想要的,因为我使用的是 nodeJS 服务器。
通过使用 build_runner watch
我想我正在将 .dart 文件构建和监视到以下目录中的 .dart.js 中:
.dart_tool/build/generated//lib
我也可以通过我的 nodeJS 服务器为它们提供服务。剩下的是包目录,我似乎找不到 pub serves 从哪里获取以下包文件:
/packages/$sdk/dev_compiler/amd/require.js /packages/$sdk/dev_compiler/amd/dart_sdk.js
有谁知道 build_runner serve 做了什么来包含它们?
谢谢,
这些文件来自 dart sdk 本身的 lib
目录。
注意还有一个选项,就是使用build_runner中的-o
选项。这将创建一个包含源文件和生成文件的合并目录,您可以直接使用该目录而不依赖任何内部文件布局。
在开发期间使用不同的服务器有 2 个选项。
- 运行
build_runner serve
在不同的端口上,并将请求从您的其他服务器代理到它。这样做的好处是可以在构建过程中延迟请求,这样您就不会得到不一致的资产集。 - 运行
build_runner watch --output web:build
并使用创建的build/
目录来提供文件。这将包括一个包含这些文件的build/packages
目录。