grunt?grunt是啥意思
各位老铁们,大家好,今天由我来为大家分享grunt,以及grunt是啥意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
grunt是啥意思
vi(猪等)作呼噜声;发哼声
vt咕哝着说出(或表示)
n 1猪等的呼噜声2哼哼声,咕哝声3=grunter(1发呼噜声的动物2咕哝的人3石鲈)4普通工作人员
grunt
KK: []
DJ: []
vi.
1.(猪等)作呼噜声
2.咕哝,发哼声
He grunted in discontent.
他不满地哼了一声。
vt.
1.咕哝着表示;咕哝着说[(+out)][+that]
The boy grunted an apology.
男孩咕哝着说了声对不起。
n.[C]
1.(猪等的)呼噜声
2.嘀咕声,哼声
He lifted the heavy suitcase with a grunt.
他咕噜着把沉重的提箱拎了起来。
3.【美】【口】普通工作人员
4.【俚】美国步兵
怎么在windows下安装grunt
在windows下安装grunt方法如下:
1、按Win+R,出现以下弹框。在弹框内输入cmd,调出DOS窗口。调出DOS窗口的方法很多,这里就不详细说明了。
2、在DOS窗口输入:npm install grunt-cli-g
3、这里是安装的Grunt的截图。Grunt的一个模块就相当于一个工具,Grunt就是由多种工具集合而成的工具箱。Grunt的模块需要局部安装在项目下,也会根据项目需要,安装同一个模块的不同版本。
4、安装模块:npm install(grunt或grunt模块的名称)--save-dev模块的名称的话,请到http://gruntjs.com/plugins查找,下面以安装grunt-contrib-jshint为例截图:
注意事项:因为Grunt.js依赖于node.js的npm来管理和安装,所以,如果你还没有安装node.js,请查看怎么在windows下安装node.js
如何停止grunt server
工具/原料
NodeJs
Windows系统
方法/步骤
要使用Grunt,第一件事是安装Node.js。(即使你没用过Node.js也不用担心——你只需安装它让Grunt能运行。)
安装了Node.js之后,用命令行工具执行以下命令:
$ npm install-g grunt-cli
要确认Grunt是否正确安装,可以使用以下命令:
$ grunt--version
下一步是在你的项目的根目录下创建package.json和gruntfile.js两个文件。
创建package.json文件
这个JSON文件让我们指定我们的开发环境所依赖的必须模块。有了它,项目的所有开发者都能保证安装上一致的必须模块,从而保证所有人拥有一样的开发环境。
在项目根目录下的pacakge.json文件中写上:
{
"name":"SampleGrunt",
"version":"0.1.0",
"author":"Brandon Random",
"private": true,
"devDependencies":{
"grunt":"~0.4.0"
}
}
然后在命令行工具运行:
$ npm install
该命令告诉npm需要安装的必须模块,npm会安装它们,自动保存在项目根目录下一个叫做 node_modules的文件夹里。
创建gruntfile.js文件
gruntfile.js文件本质上就是一个wrapper函数,接受grunt作为参数:
module.exports= function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
});
grunt.registerTask('default', []);
};
现在你已经可以在项目根目录下运行grunt命令行工具了。
$ grunt
> Task"default" not found. Use--force to continue.
这里我们只指定了Grunt作为必须模块,还没定义任何任务。接下来我们就要指定任务和必须模块。首先来看如何拓展package.json文件。
拓展package.json文件
使用Node.js最好的一点,就是它可以根据package.json文件的内容,一次性查找和安装多个package。要安装我们项目的所有必须任务,只须在package.json文件中加上以下内容:
{
"name":"SampleGrunt",
"version":"0.1.0",
"author":"Mike Cunsolo",
"private": true,
"devDependencies":{
"grunt":"~0.4.0",
"grunt-contrib-cssmin":"*",
"grunt-contrib-sass":"*",
"grunt-contrib-uglify":"*",
"grunt-contrib-watch":"*",
"grunt-cssc":"*",
"grunt-htmlhint":"*",
"matchdep":"*"
}
}
那么如何实现安装?你肯定已经猜到了:
$ npm install
使用Grunt载入任务
package安装好后,还必须被Grunt载入才能为我们所用。使用 matchdep,我们用一行代码就可以自动载入所有任务。这是开发流程的一大优化,因为现在我们只须把必须任务列表写在package.json一个文件里,便于管理。
在gruntfile.js里,grunt.initConfig之上,写上以下代码:
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
要是没有matchdep,我们就必须为每一个必须任务写一次grunt.loadNpmTasks(“grunt-task-name”);,随着我们使用的任务的增加,这些载入任务的代码很快就会变得相当繁冗。在Grunt载入这些任务前,我们还可以指定设置选项。
现在我们需要创建我们的HTML文件(index.html):
Enter your first name
用HTMLHint验证HTML
在grunt.initConfig里加入下列设置代码:
htmlhint:{
build:{
options:{
'tag-pair': true,
'tagname-lowercase': true,
'attr-lowercase': true,
'attr-value-double-quotes': true,
'doctype-first': true,
'spec-char-escape': true,
'id-unique': true,
'head-script-disabled': true,
'style-disabled': true
},
src: ['index.html']
}
}
一般来说,一个plugin的设置方法如下:plugin的名称(去掉grunt-contrib-或grunt-前缀),选择使用此plugin的一个或多个对象(在这里可以给不同文件设置此plugin的不同选项),一个选项object,以及plugin要作用的对象。现在,如果我们用命令行工具运行grunt htmlhint,该plugin就会检查我们在src里指定的HTML文件,验证其中有没有错误!但是每个小时都要手动运行几次这个任务,很快就让人觉得很繁琐了。
自动化任务运行
watch是一个特殊的任务,它可以在目标文件保存时自动触发一系列任务的运行。在grunt.initConfig里加入以下设置:
watch:{
html:{
files: ['index.html'],
tasks: ['htmlhint']
}
}
然后,在命令行工具中运行grunt watch命令。现在,你可以试试在index.html里加一行注释,保存文件。你会注意到,保存文件时会自动触发HTML的验证!这是对开发流程的一大优化:在你写代码时,watch任务就会默默同时为你验证代码,如果验证失败任务就会报告失败(它还会告诉你问题在哪)。
注意grunt watch任务会一直运行,直到命令行工具关闭,或手动停止(control+c在Mac中)。
保持JavaScript极简
让我们来写一个验证用户输入的名字的JavaScript文件。简便起见,我们这里只检查其中是否含有非字母的字符。我们的JavaScript会使用strict模式,这可以防止我们写可用但低质量的JavaScript。创建assets/js/base.js文件并在其中写上:
function Validator()
{
"use strict";
}
Validator.prototype.checkName= function(name)
{
"use strict";
return(/[^a-z]/i.test(name)=== false);
};
window.addEventListener('load', function(){
"use strict";
document.getElementById('firstname').addEventListener('blur', function(){
var _this= this;
var validator= new Validator();
var validation= document.getElementById('namevalidation');
if(validator.checkName(_this.value)=== true){
validation.innerHTML='Looks good!:)';
validation.className="validation yep";
_this.className="yep";
}
else{
validation.innerHTML='Looks bad!:(';
validation.className="validation nope";
_this.className="nope";
}
});
});
让我们用UglifyJS来极简化这个源代码,在grunt.initConfig中加上以下设置:
uglify:{
build:{
files:{
'build/js/base.min.js': ['assets/js/base.js']
}
}
}
UglifyJS会替换所有的变量和函数名,剔除所有空白和注释,从而生成占据最小空间的JavaScript文件,对发布非常有用。同样地,我们需要设置一个watch任务来使用它,在watch的设置里加入以下代码:
watch:{
js:{
files: ['assets/js/base.js'],
tasks: ['uglify']
}
}
9
现在我们有了一个静态HTML页面,一个存放Sass和JavaScript源文件的assets文件夹,一个存放优化后的CSS和JavaScript的build文件夹,以及package.json文件和gruntfile.js文件。
至此你已经有了一个不错的基础来进一步探索Grunt。像之前提到的,一个非常活跃的开发者社区在为Grunt开发前端plugin。我建议你现在就到plugin library去看看那300个以上的plugin。
文章到此结束,希望我们对于grunt和grunt是啥意思的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。