dart - 转换后的 Dart 应用程序是否需要是一个文件?

标签 dart angular-dart dart-pub

假设我正在制作一个应用程序,我需要定期将更新推送到客户端。现在,大多数更新只会影响我自己的代码,而不会影响构成我的依赖项的库。据我所知,调用 pub build 时我将使用的变压器,将获取我所有的库、依赖项和其他任何内容,并将它们编译到一个 web/main.dart.js 中。文件。这往往让我想起静态链接,就像 C++ 等语言一样。

出于显而易见的原因,您只想在最终部署应用程序时进行这样的编译。对于大多数人来说,只需使用 dartium 并完成 .dart 就足够了直接层次结构。但是,如果我在 JavaScript 浏览器中测试,尝试 dart:js 会怎样?例如,代码。当 Angular 和 Friends 完全未受影响时,我不想重新编译它们。我的具体案例是希望在我的应用程序中对静态文件使用 CDN 服务。

作为我的示例,AngularDart 为我编译的 javascript 贡献了大量 22,000 行,如果我在自己的应用程序中更改一点小东西,我就可以亲吻 304 NOT MODIFIED再见,更不用说 CDN 节省了,因为大量未受影响的 Angular。

话虽如此,有没有办法在转换后的 dart 应用程序中解耦依赖关系? 我可以“动态链接”我的 dart 库吗?此外,我可以假设将我的 dart 库分发为 dart.js ,用于其他转换后的代码?

最佳答案

不,这样不行。如果可部署包含整个依赖项,这可能会起作用,但事实并非如此。
pub build 仅包含应用程序中实际使用的代码(tree shake),这通常只是依赖项的一小部分。更改代码中的单个字符可能需要包含依赖项中的不同代码。我认为 Treeshaking 的效果比缓存大得多。

关于dart - 转换后的 Dart 应用程序是否需要是一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891388/

相关文章:

dart - 使用带 Dartium 的 `pub serve` 时如何查看 HTML 模板和 CSS 错误?

dart - 在ngOnInit和click事件之间,组件中的字段变为null

xcode - Firebase_core, flutter 构建错误

installation - 如何安装 Dart 包的更新版本?

dart - 在另一个字符串中间连接字符串,跳过最后一个

flutter - 在performLayout()期间引发了PageView NoSuchMethodError

angularjs - 在Angular Dart组件中使用 bool 属性

dart - showGeneralDialog 未按预期工作

dart - "pub upgrade"是增量升级还是直接升级到最新版本?

Flutter GetX 绑定(bind)?