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 插件在 package.json
的 peerDependencies
部分包含 grunt
,我们建议使用 "grunt": ">=0.4.0"
进行标记。否则,当 [email protected]
发布时,npm@2 用户在尝试安装您的插件时会收到硬错误,而 npm@3 用户会收到警告。
请注意,从 npm@3 开始,不再为用户安装对等依赖项。Grunt 插件的用户应该在安装任何 Grunt 插件的同时 npm install grunt --save-dev
。
我们请求您向您喜欢的插件发送拉取请求,并要求他们更新其 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
,然后在您的 npm 脚本中包含 Grunt
{
"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
,这在将该语言与插件和 Gruntfiles 一起使用时可能会导致重大更改。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提供支持