假设我正在制作一个应用程序,我需要定期将更新推送到客户端。现在,大多数更新只会影响我自己的代码,而不会影响构成我的依赖项的库。据我所知,调用 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.js
,用于其他转换后的代码?
最佳答案
不,这样不行。如果可部署包含整个依赖项,这可能会起作用,但事实并非如此。
pub build 仅包含应用程序中实际使用的代码(tree shake),这通常只是依赖项的一小部分。更改代码中的单个字符可能需要包含依赖项中的不同代码。我认为 Treeshaking 的效果比缓存大得多。
关于dart - 转换后的 Dart 应用程序是否需要是一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891388/