黑人的命也是命

grunt.util

用于 Gruntfile 和任务的杂项实用程序。

grunt.util.kindOf

返回值的“类型”。类似于 typeof,但返回内部 [Class](Class/) 值。可能的结果是 "number""string""boolean""function""regexp""array""date""error""null""undefined" 和包罗万象的 "object"

grunt.util.kindOf(value)

grunt.util.error

返回一个新的 Error 实例(可以被抛出),并带有适当的消息。如果指定了 Error 对象而不是 message,则将返回该对象。此外,如果为 origError 指定了 Error 对象,并且 Grunt 是使用 --stack 选项运行的,则将转储原始 Error 堆栈。

grunt.util.error(message [, origError])

grunt.util.linefeed

换行符,已针对当前操作系统进行了规范化。(在 Windows 上为 \r\n,否则为 \n

grunt.util.normalizelf

给定一个字符串,返回一个新字符串,其中所有换行符都已针对当前操作系统进行了规范化。(在 Windows 上为 \r\n,否则为 \n

grunt.util.normalizelf(string)

grunt.util.recurse

递归遍历嵌套对象和数组,为每个非对象值执行 callbackFunction。如果 continueFunction 返回 false,则将跳过给定的对象或值。

grunt.util.recurse(object, callbackFunction, continueFunction)

grunt.util.repeat

返回重复 n 次的字符串 str

grunt.util.repeat(n, str)

grunt.util.pluralize

给定 "a/b"str,如果 n1,则返回 "a",否则返回 "b"。如果 '/' 不适合您,您可以指定自定义分隔符。

grunt.util.pluralize(n, str, separator)

grunt.util.spawn

生成一个子进程,跟踪其标准输出、标准错误和退出代码。该方法返回对生成的子进程的引用。当子进程退出时,将调用 doneFunction

grunt.util.spawn(options, doneFunction)

options 对象具有以下可能的属性

var options = {
  // The command to execute. It should be in the system path.
  cmd: commandToExecute,
  // If specified, the same grunt bin that is currently running will be
  // spawned as the child command, instead of the "cmd" option. Defaults
  // to false.
  grunt: boolean,
  // An array of arguments to pass to the command.
  args: arrayOfArguments,
  // Additional options for the Node.js child_process spawn method.
  opts: nodeSpawnOptions,
  // If this value is set and an error occurs, it will be used as the value
  // and null will be passed as the error value.
  fallback: fallbackValue
};

doneFunction 接受以下参数

function doneFunction(error, result, code) {
  // If the exit code was non-zero and a fallback wasn't specified, an Error
  // object, otherwise null.
  error
  // The result object is an object with the properties .stdout, .stderr, and
  // .code (exit code).
  result
  // When result is coerced to a string, the value is stdout if the exit code
  // was zero, the fallback if the exit code was non-zero and a fallback was
  // specified, or stderr if the exit code was non-zero and a fallback was
  // not specified.
  String(result)
  // The numeric exit code.
  code
}

grunt.util.toArray

给定一个数组或类数组对象,返回一个数组。非常适合将 arguments 对象转换为数组。

grunt.util.toArray(arrayLikeObject)

grunt.util.callbackify

将“返回值”和“将结果传递给回调”函数都规范化为始终将结果传递给指定的回调。如果原始函数返回值,则该值现在将传递给回调,该回调在所有其他预定义参数之后指定为最后一个参数。如果原始函数将值传递给回调,它将继续这样做。

grunt.util.callbackify(syncOrAsyncFunction)

以下示例可以更好地说明这一点

function add1(a, b) {
  return a + b;
}
function add2(a, b, callback) {
  callback(a + b);
}

var fn1 = grunt.util.callbackify(add1);
var fn2 = grunt.util.callbackify(add2);

fn1(1, 2, function(result) {
  console.log('1 plus 2 equals ' + result);
});
fn2(1, 2, function(result) {
  console.log('1 plus 2 equals ' + result);
});

内部库

grunt.util.namespace

用于解析对象中深层嵌套属性的内部库。

grunt.util.task

用于任务运行的内部库。

外部库

已弃用

以下列出的所有外部库现已弃用。

请使用 npm 管理项目依赖项中的这些外部库。

例如,如果要使用 Lo-Dash,请先安装它:npm install lodash,然后在 Gruntfile 中使用它:var _ = require('lodash');

grunt.util._

已弃用

Lo-DashUnderscore.string

grunt.util._.str 可用于与现有 Lo-Dash 方法冲突的方法。

grunt.util.async

已弃用

Async - 用于 Node.js 和浏览器的异步实用程序。

grunt.util.hooker

已弃用

JavaScript Hooker - 用于调试等的猴子补丁(钩子)函数。