【发布时间】:2013-12-17 08:44:27
【问题描述】:
dart2js 可能会生成.js.map、.js.deps 和.precompiled.js。
他们的目的是什么?我不知道为什么dart2js 在完成编译后没有删除它们。
【问题讨论】:
dart2js 可能会生成.js.map、.js.deps 和.precompiled.js。
他们的目的是什么?我不知道为什么dart2js 在完成编译后没有删除它们。
【问题讨论】:
所有文件都是dart2js故意生成的:
.js:应用程序的 JavaScript 输出
.precompiled.js:JavaScript 输出,但带有 content security policy (CSP) support
.js.map:用于在浏览器中调试 JavaScript 代码的源映射文件。它包含从 JavaScript 到 Dart 代码行的映射。
.js.deps:包含用于编译的所有参考文件的列表,适合调试,但我不确定。
【讨论】:
.precompiled.js 是我唯一真正需要的东西。而其他对于真正的 Web 应用程序来说是不必要的。
以下是我在撰写本文时认为正确的内容:
.js - dart2js 的主要 JavaScript 输出
对我们来说,约定是 -o 选项将生成的 Javascript 文件名设置为以 .dart.js 结尾,以区分生成的 Javascript 和 Dart 项目中的显式 Javascript。例如:
dart2js -o main.dart.js main.dart
pub-build 默认情况下会这样做。 dart.js 文件假定使用此约定。示例 Dart .gitignore 文件通常包含 *.dart.js。
.js.map - 提供从 JavaScript 到 Dart 的源映射,使调试更容易
.js.deps - 使用 dart2js 编译时使用了哪些文件
.info.json - 包含生成代码信息的 json 文件(如果指定了 --dump-info)
.js_1.part.js、.js_2.part.js 等 - 部分延迟导入
示例 Dart .gitignore 文件通常包含 *.js_ 以涵盖这些文件。
--deferred-map 选项将生成一个 json 文件,您必须为其提供文件名。
.precompiled.js 不再由 dart2js 生成
见:
【讨论】: