需要从Dart项目部署哪些文件?
我有一个AngularJS项目,我正在考虑迁移到Dart。我不想在一个大爆炸中迁移整个项目,所以我正在寻找同时运行这两个应用程序的方法 dart应用程序将作为index.html在根目录上运行。js应用程序将在单独的路径上运行,例如“/jsApp” 当我构建一个测试项目时,/build目录似乎包含了很多不必要的文件。是否需要部署/build/web目录的完整内容 实际加载的是什么?html文件是否仍在运行时加载,或者是否已绑定到主文件中 我需要main.dart.js和main.dart.precompiled.js吗?对于一个平凡的应用程序来说,它们似乎是非常大的文件。这是意料之中的事吗需要从Dart项目部署哪些文件?,dart,angular-dart,Dart,Angular Dart,我有一个AngularJS项目,我正在考虑迁移到Dart。我不想在一个大爆炸中迁移整个项目,所以我正在寻找同时运行这两个应用程序的方法 dart应用程序将作为index.html在根目录上运行。js应用程序将在单独的路径上运行,例如“/jsApp” 当我构建一个测试项目时,/build目录似乎包含了很多不必要的文件。是否需要部署/build/web目录的完整内容 实际加载的是什么?html文件是否仍在运行时加载,或者是否已绑定到主文件中 我需要main.dart.js和main.dart.pre
我仍然不清楚所有这些东西是如何结合在一起的。通常需要部署整个构建目录,并且通常没有不必要的文件。 在最近的Dart版本中不再生成
*.precompiled.js
文件(这是为了符合CSP)
你用的是哪种飞镖
如果在调试模式下生成,那么源映射文件也会在生成目录中生成
浏览器加载用户请求的HTML文件,然后加载此HTML和所有其他资源(img、css等)中
标记中的脚本文件引用
我不知道带有外部HTML模板文件的Angular组件的生成输出是否内联在
index.HTML
中,或者它们是否按原样复制。如果要使生成的文件尽可能小,您应该:
- 确保您的pubspec.yaml包含角度转换器,如下所述:
name: angular_dart_demo
version: 0.0.1
dependencies:
angular: 0.12.0
[...]
transformers:
- angular
html_files:
- web/my_html_template.html
- web/another_html_template.html
- 使用pub Build从命令行生成
您必须以某种方式将从“发布构建”中获得的内容与现有的js应用程序合并 我使用的是混合了省道控制器的AngularJS。您不必调整当前的项目结构来使用pub构建。只需使用dart2js编译各个dart文件,并在页面中包含“.js”文件。您不必添加本机dart脚本标记或在代码中包含dart引导。只需为生成的js文件(您需要的唯一文件)包含一个脚本标记,它就会完成您所期望的。我计划很快写一篇简短的概述。我(现在)正在使用Dart 1.4.2_r36647,这是我今天从下载站点获得的。它仍在生成“预编译”文件。“main.dart.js”文件的容量仍然超过1兆字节,只比“Hello World”多一点。这正常吗?我想我看到Misko在某个地方说,他们已经将生成的文件大小减小到200KB。我想,当您运行
pub build
form DartEditor时,它是在debug模式下运行的,这会生成更大的输出(没有缩小,…)。您能否尝试从控制台运行pub build
?如果它仍然不能产生预期的输出,请尝试pub build--mode=release
shadow\u dom已被弃用(在构建到JS时会导致许多错误),您应该使用web\u组件来代替。您是对的,Günter。我将把它从我的答案中删除。感谢您的澄清,我想这不适用于静态喷油器,它提供了巨大的性能优势。静态注入器需要运行di转换器(通常由发布构建调用,但也可以手动运行)