问题
dart2js probably generates .js.map
, .js.deps
and .precompiled.js
.
What's the purpose of them? and I donno why dart2js
doens't remove them after finishing compile.
回答1:
All files are generated by dart2js on purpose:
.js: The JavaScript output of your application
.precompiled.js: The JavaScript output but with content security policy (CSP) support
.js.map: source map file used for debugging the JavaScript code in the browser. It contains a mapping from JavaScript to Dart code lines.
.js.deps: contains a list list of all references files used for compilation, prop ably for debugging but I'm not sure about this.
回答2:
Here is what I believe is correct at the time I write this:
.js
- the main JavaScript output of dart2jsConvention is to us the -o option to set the generated Javascript filename to end with
.dart.js
to differentiate generated Javascript from explicit Javascript in the Dart project. E.g.:dart2js -o main.dart.js main.dart
pub-build
does that by default. The dart.js file assumes this convention is used. Sample Dart .gitignore files often include*.dart.js
..js.map
- provides source maps from JavaScript to Dart that make debugging easier.js.deps
- what files were used when compiling with dart2js.info.json
- json file with information about the generated code (if--dump-info
specified).js_1.part.js
,.js_2.part.js
etc. - parts of deferred importsSample Dart .gitignore files often include
*.js_
to cover these files.The
--deferred-map
option will generate a json file that you must provide a file name for..precompiled.js
is no longer produced by dart2js
See:
- https://www.dartlang.org/tools/private-files.html
- https://github.com/dart-lang/www.dartlang.org/issues/1496 for my conversation with the site authors on making some adjustments.
- https://www.dartlang.org/tools/dart2js/
- https://github.com/github/gitignore/blob/master/Dart.gitignore.
来源:https://stackoverflow.com/questions/20314796/which-files-are-generated-when-executing-dart2js-and-why