黑人生命也是命

從 0.4 升級到 1.0

本指南將協助您將專案和外掛程式從 Grunt 0.4.x 更新到 Grunt 1.0。

請注意,Grunt 1.0.0 不再支援 Node.js v0.8。

對於使用 Grunt 的專案

對等相依性

當您使用 Grunt 1.0 安裝專案時,您可能會收到 peerDependencies 錯誤。我們請您向您最喜愛的外掛程式發送 pull request,並請他們更新其 package.json 的 peerDependencies 區段。有關外掛程式更新的詳細資訊,請參閱下方。

對於外掛程式和外掛程式開發人員

對等相依性

如果您有一個 Grunt 外掛程式,其中包含 package.json 的 peerDependencies 區段中的 grunt,我們建議標記為 "grunt": ">=0.4.0"。否則,當 [email protected] 發佈時,npm@2 使用者在嘗試安裝您的外掛程式時會收到強制錯誤,而 npm@3 使用者會收到警告。

請注意,對等相依性不再安裝給 npm@3 的使用者。預期 Grunt 外掛程式的使用者會在安裝任何 Grunt 外掛程式時 npm 安裝 grunt --save-dev。

我們請您使用 "grunt": ">=0.4.0" 更新您的外掛程式,並在 npm 上發佈。

1.0.0 中的變更

  • 防止非同步回呼多次呼叫。Pull #1464。
  • 將著作權更新為 jQuery Foundation 並移除多餘的標頭。修正 #1478。
  • 將 glob 更新為 7.0.x。修正 #1467。
  • 移除重複的 BOM 剝離碼。Pull #1482。
  • 更新為最新的 cli ~1.2.0
  • 確保在安裝時建立 grunt bin。

Grunt 1.0 RC1 中的變更

請注意,某些 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 lodashvar _ = require('lodash') 以使用 lodash。請參閱 lodash 變更日誌以取得變更的完整清單:https://github.com/lodash/lodash/wiki/Changelog
  • iconv-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()
  • 已完成,沒有錯誤。 已變更為 已完成。 以避免因為 errors 這個字而錯誤失敗。