从 0.4 升级至 1.0
This guide is here to help you update your projects and plugins from Grunt 0.4.x to Grunt 1.0.
Be advised Grunt 1.0.0 no longer supports Node.js v0.8.
You might receive
peerDependencies errors when you install a project with Grunt 1.0.
We ask you to send pull requests to your favourite plugins and ask them to update the peerDependencies section of their package.json.
See below for details about plugin updates.
If you have a Grunt plugin that includes grunt in the peerDependencies section of your package.json, we recommend tagging with "grunt": ">=0.4.0". Otherwise when email@example.com is released, npm@2 users will receive a hard error when trying to install your plugin and npm@3 users will get a warning.
Be aware, peer dependencies are no longer installed for users as of npm@3. Users of Grunt plugins are expected to npm install grunt --save-dev alongside any Grunt plugin install.
We ask you to update your plugin with
"grunt": ">=0.4.0" in it and publish that on npm.
- Prevent async callback from being called multiple times. Pull #1464.
- Update copyright to jQuery Foundation and remove redundant headers. Fixes #1478.
- Update glob to 7.0.x. Fixes #1467.
- Removing duplicate BOM strip code. Pull #1482.
- Updated to latest cli ~1.2.0
- Ensure a grunt bin gets created upon install.
Be aware, some APIs have changed warranting a major version update:
coffee-scriptis upgraded to
~1.10.0which could incur breaking changes when using the language with plugins and Gruntfiles.
noptis upgraded to
~3.0.6which has fixed many issues, including passing multiple arguments and dealing with numbers as options. Be aware previously
--foo barused to pass the value
'bar'to the option
foo. It will now set the option
trueand run the task
globis upgraded to
minimatchis upgraded to
~3.0.0. Results are now sorted by default with
grunt.file.expandMapping(). Pass the
nosort: trueoption if you don't want the results to be sorted.
lodashwas upgraded to
~4.3.0. Many changes have occurred. Some of which that directly effect Grunt are
grunt.util._.template()returns a compile function and
grunt.util._.flattenno longer flattens deeply.
grunt.util._is deprecated and we highly encourage you to
npm install lodashand
var _ = require('lodash')to use
lodash. Please see the lodash changelog for a full list of changes: https://github.com/lodash/lodash/wiki/Changelog
iconv-liteis upgraded to
~0.4.13and strips the BOM by default.
js-yamlis upgraded to
~3.5.2and may affect
grunt.file.readYAML. We encourage you to please
npm install js-yamland use
var YAML = require('js-yaml')directly in case of future deprecations.
- A file
modeoption can be passed into grunt.file.write().
Done, without errors.was changed to
Done.to avoid failing by mistake on the word