Node.js grunt命令是如何工作的?

Node.js grunt命令是如何工作的?,node.js,npm,gruntjs,Node.js,Npm,Gruntjs,实际执行的是什么命令? 类似于使用npm start,package.json中包含以下内容 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node index.js" } npm start在后台运行node index.js 类似地,grunt在幕后运行什么?当您调用grunt任务运行程序时,它会按照您指定的顺序运行您在Gruntfile

实际执行的是什么命令? 类似于使用
npm start
,package.json中包含以下内容

  "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "start": "node index.js"
  }
npm start
在后台运行
node index.js


类似地,
grunt
在幕后运行什么?

当您调用grunt任务运行程序时,它会按照您指定的顺序运行您在Gruntfile中指定的grunt插件

Grunt插件由单个任务文件组成。该文件本质上只是一个Node.js脚本,用于执行相关任务。它可以访问传递给插件的设置,并可以使用Grunt的文件API访问文件系统,但除此之外,它只是一个Node.js脚本

编写一个Grunt插件并不难,如果你有兴趣了解更多Grunt,这是一个更好地熟悉Grunt的好方法。我个人编写了几个静态站点生成器作为Grunt插件,非常有用。Grunt任务文件ie.
gruntfile.js
看起来像这样

module.exports=函数(grunt){
//项目配置。
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
建造:{
src:'src/.js',
dest:'build/.min.js'
}
}
});
//加载提供“丑”任务的插件。
grunt.loadNpmTasks(“grunt-contrib-uglify”);
//默认任务。
registerTask('default',['uglify']);

};当您调用Grunt任务运行程序时,它会按照您指定的顺序运行您在Gruntfile中指定的Grunt插件

Grunt插件由单个任务文件组成。该文件本质上只是一个Node.js脚本,用于执行相关任务。它可以访问传递给插件的设置,并可以使用Grunt的文件API访问文件系统,但除此之外,它只是一个Node.js脚本

编写一个Grunt插件并不难,如果你有兴趣了解更多Grunt,这是一个更好地熟悉Grunt的好方法。我个人编写了几个静态站点生成器作为Grunt插件,非常有用。Grunt任务文件ie.
gruntfile.js
看起来像这样

module.exports=函数(grunt){
//项目配置。
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
建造:{
src:'src/.js',
dest:'build/.min.js'
}
}
});
//加载提供“丑”任务的插件。
grunt.loadNpmTasks(“grunt-contrib-uglify”);
//默认任务。
registerTask('default',['uglify']);

};
grunt命令执行
Gruntfile.js
,它通过节点执行,但是它将
grunt
配置和功能传递给Gruntfile内部使用的插件。这就是你写作的原因

module.exports = function(grunt) {
   // grunt parameter is passed from grunt-cli
   // which contains grunt functions and utilities
   // that you can use to configure the tasks etc.
});

grunt命令执行
Gruntfile.js
,它通过节点执行,但是它将
grunt
配置和函数传递给Gruntfile内部使用的插件。这就是你写作的原因

module.exports = function(grunt) {
   // grunt parameter is passed from grunt-cli
   // which contains grunt functions and utilities
   // that you can use to configure the tasks etc.
});

是否只运行“咕噜”运行所有任务?上面提到的运行服务器脚本(比如index.js)的位置?运行
grunt
运行
grunfile.js
中定义的默认任务。如果您安装了cssmin Grunt插件,您可以使用
Grunt cssmin
自行调用它。通常,您会在GrunFile中定义自己的任务,这些任务调用您需要以指定顺序运行的任何插件。例如,当我构建新版本的站点Irun
grunt-serve
为其提供服务,并
grunt-deploy
部署它时。每个命令都会调用多个Grunt插件,我明白你的意思,但是我的服务器从哪里开始,比如“node index.js”,这与Grunt无关。
package.json
中定义的任何命令都在与
package.json
文件相同的目录中运行。是否只运行“grunt”会运行所有任务?上面提到的运行服务器脚本(比如index.js)的位置?运行
grunt
运行
grunfile.js
中定义的默认任务。如果您安装了cssmin Grunt插件,您可以使用
Grunt cssmin
自行调用它。通常,您会在GrunFile中定义自己的任务,这些任务调用您需要以指定顺序运行的任何插件。例如,当我构建新版本的站点Irun
grunt-serve
为其提供服务,并
grunt-deploy
部署它时。每个命令都会调用多个Grunt插件,我明白你的意思,但是我的服务器从哪里开始,比如“node index.js”,这与Grunt无关。
package.json
中定义的任何命令都在与
package.json
文件相同的目录中运行。