我正在爲pub build
編寫一個自定義轉換器。我想在調試變壓器時關閉dart文件的編譯爲js以節省時間。可能嗎?在酒吧編譯期間關閉dart2js
目前,我的簡化pubspec.yaml
是
name: my_proj
dependencies:
polymer: any
transformers:
- my_proj
我正在爲pub build
編寫一個自定義轉換器。我想在調試變壓器時關閉dart文件的編譯爲js以節省時間。可能嗎?在酒吧編譯期間關閉dart2js
目前,我的簡化pubspec.yaml
是
name: my_proj
dependencies:
polymer: any
transformers:
- my_proj
沒有爲pub build
只爲pub serve --no-dart2js
別無選擇。
你可以臨時修改該文件
dart/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart
在你的鏢安裝目錄下,並設置useDart2JS
爲「假」。
我還沒有嘗試過看到自己,但我認爲這應該工作。
或排除的dart2js變壓器的web目錄中pubspec.yaml
transformers:
- $dart2js:
$exclude: web
答案從https://code.google.com/p/dart/issues/detail?id=17484#c4
> 首先,你的迭代循環過程中,應考慮使用「酒吧服務「而不是」酒吧建設「。它只會在需要時編譯dart2js輸出,因此您可以輕鬆測試Dart輸出,而無需等待無用的JS。不幸的是,它不會自動重新加載你的變壓器,但即使如此,它仍然應該更快。如果你真的想使用「pub build」,你可以用「--mode debug」運行它來生成JS,然後添加「{$ dart2js:{$ exclude:web}} 「作爲有效禁用dart2js的變壓器。
也看到文檔https://www.dartlang.org/tools/pub/assets-and-transformers.html#exclude-assets
我還沒有發現在鏢目錄中的文件build_environment.dart ..我用鏢的最新的開發人員版在我的電腦上.. 我希望這個選項將可用對於在未來建立的酒吧.. – Roman
我創建了這個問題https://code.google.com/p/dart/issues/detail?id=17484 – Roman
發佈的Dart SDK似乎只在快照中編碼(即使用於調用pub的'pub'腳本引用了dart-sdk/lib/_internal/pub /這個路徑,該文件夾也不存在,要做到這一點,可能需要從源代碼構建SDK。不值得 麻煩。 –