Grunt 1.0.0 rc1 發布
發布於 2016 年 2 月 11 日Grunt 團隊很榮幸地宣布 1.0.0
的第一個候選版本。
此版本由 @shama、@vladikoff、@jkaussieskater 製作。在 jQuery 基金會的支持下,特別是 @dmethvin 和 @aulvi。
也要感謝 @XhmikosR、@paladox、@FredyC、@sindresorhus、@mrjoelkemp 等人的貢獻。
此版本專注於修正重大問題,並改善對 Windows、OSX 和 Linux 上的 Node.js v0.10、v0.12、v4.0、v5.0 和 io.js 的支援。我們請您測試 rc1
並 回報您遇到的任何問題。
npm install [email protected] --save-dev
請注意,Grunt 1.0.0
將不再支援 Node.js v0.8。
對等相依性
如果您有一個 Grunt 外掛程式包含 grunt
在 package.json
的 peerDependencies
區段中,我們建議標記為 "grunt": ">=0.4.0"
。否則,當 [email protected]
發布時,npm@2 使用者在嘗試安裝您的外掛程式時會收到一個硬錯誤,而 npm@3 使用者會收到一個警告。
請注意,對等相依性不再會在 npm@3 中安裝給使用者。Grunt 外掛程式的使用者預期會在安裝任何 Grunt 外掛程式時,同時 npm install grunt --save-dev
。
我們請您向您最喜歡的外掛程式發送 pull request,並請他們更新 package.json
的 peerDependencies
區段。
徵求意見
我們建立了一個 新儲存庫,以鼓勵有興趣塑造 Grunt 未來的社群成員提交 RFC。
提交 RFC 將允許您正式提出對 Grunt 的重大變更,並從核心團隊和社群徵求意見回饋。
積極的提案將有助於描繪 Grunt 的未來路線圖,並希望能加速社群貢獻至未來的 Grunt 版本。
npm 腳本
我們現在將 grunt-cli
安裝為 grunt
的一部分。許多使用者不希望執行 npm install grunt-cli -g
的額外步驟。為了更符合 Node.js 的慣用語法,您現在可以 npm install grunt --save-dev
,然後將 Grunt 納入您的 npm 腳本中
{
"scripts": {
"grunt": "grunt"
}
}
您的使用者現在只需要 npm install
和 npm run grunt
即可執行您的 Gruntfile.js
。
npm >= 2.0.0
上的使用者也可以使用以下方式傳遞任務和選項:npm run grunt -- task --option=foo
,這等於 grunt task --option=foo
。
如果您希望電腦上有 grunt
指令,請繼續 npm install grunt-cli -g
並像以前一樣使用。
API 變更
請注意,某些 API 已變更,保證主要版本更新
coffee-script
已升級至~1.10.0
,在使用語言搭配外掛程式和 Gruntfile 時可能會產生重大變更。nopt
已升級至~3.0.6
,已修正許多問題,包括傳遞多個引數和將數字視為選項。請注意,先前--foo bar
用於將值'bar'
傳遞至選項foo
。現在,它會將選項foo
設定為true
,並執行任務bar
。glob
已升級至~6.0.4
,而minimatch
已升級至~3.0.0
。現在,結果預設會透過grunt.file.expandMapping()
排序。如果您不希望結果排序,請傳遞nosort: true
選項。lodash
已升級至~4.3.0
。已發生許多變更。其中直接影響 Grunt 的變更包括grunt.util._.template()
會傳回編譯函式,而grunt.util._.flatten
不再深度扁平化。grunt.util._
已棄用,我們強烈建議您npm install lodash
和var _ = require('lodash')
以使用lodash
。請參閱 lodash 變更記錄以取得完整變更清單:https://github.com/lodash/lodash/wiki/Changelogiconv-lite
已升級至~0.4.13
,並預設移除 BOM。js-yaml
已升級至~3.5.2
,可能會影響grunt.file.readYAML
。我們建議您安裝npm install js-yaml
,並直接使用var YAML = require('js-yaml')
,以避免將來發生不建議使用的情況。- 檔案
mode
選項可以傳遞至 grunt.file.write()。 Done, without errors.
已變更為Done.
,以避免錯誤地因errors
字而失敗。
我們建議您試試這個版本。
我們也正在尋找所有 Grunt 儲存庫 的貢獻者,並願意指導您,讓您獲得更多開源經驗。
由Disqus提供技術支援的留言