好啦,今天来和大家谈谈grunt

害怕与社会脱轨,所以自己研究了一下,简单说说我梳理完的grunt

首先要知道为什么使用grunt

1.grunt可以检测js、css文件内部是否有错误

2. grunt可以进行js、css\html...的压缩

3. grunt可以watch这些文件,就是监控这些文件,就像sass一样,源文件有变换,转化后的css会跟着变。也就是说,js、或css等源文件有变化,压缩的文件会跟着变

首先,grunt和vue一样,环境用的node,也需要全局安装

npm install -g grunt-cli

想要知道自己的grunt是否安装成功,可以执行

npm grount -version

然后在使用grunt之前,我们还需要准备两个文件

Grountfile.js ->编写任务 
 
package.json ->工程文件(npm-init)
 
我们先生成package.json
第一步:cd xxx 找到你的目的文件
第二部:npm init(填写项目信息)
大概就是这些问题:
name: (GruntT)      // 模块名称:只能包含小写字母数字和中划线,如果为空则使用项目文件夹名称代替
version: (0.0.0)     // 版本号
description:       // 描述:会在npm搜索列表中显示
entry point: (index.js) // 模块入口文件
test command:       // 测试脚本
git repository:      // git仓库地址
keywords:         // 关键字:用于npm搜索,多个关键字用空格分开
author:          // 作者
license: (BSD-2-Clause)  // 开原协议
 
当然,如果你像我一样是个菜鸟呢,可以跟我一样直接复制(记得修改name与你的文件保持一致哦,不要忘记将此文件名修改为 package.json)
{
  "name": "支付宝充值",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-concat": "^1.0.1",
    "grunt-contrib-connect": "^1.0.2",
    "grunt-contrib-cssmin": "^2.2.1",
    "grunt-contrib-htmlmin": "^2.4.0",
    "grunt-contrib-imagemin": "^2.0.1",
    "grunt-contrib-jshint": "^1.1.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-sass": "^1.0.0",
    "grunt-contrib-uglify": "^3.3.0",
    "grunt-contrib-watch": "^1.0.0"
  }
}
 
package.json是为了确认文件的信息,而Gruntfile.js则使用来告诉程序我要执行的命令,简单点来说,就是告诉grunt,我要压缩谁、监控谁
 
想要执行这些压缩或监控的命令,grunt需要安装一些插件才能来执行(jshint(检查语法错误)、concat(合并文件)、uglify(压缩代码)和watch(自动执行))
 

npm install grunt --save-dev

(将安装的grunt添加到 package.json中)

 

npm install --save-dev grunt-contrib-concat grunt-contrib-jshint grunt-contrib-sass grunt-contrib-uglify grunt-contrib-htmlmin grunt-contrib-cssmin grunt-contrib-imagemin grunt-contrib-watch grunt-contrib-connect  ( 像我一样懒得可以用这种方法,Grunt 的基本所需插件一次安装)

 
或者一个一个的安装自己需要的:
 

npm install grunt-contrib-csslint --save-dev

(压缩css,其他的雷同)

 
插件安装完成,并不代表结束哦
 
你还需要配置Gruntfile.js
 
在根目录下,新建一个名为Gruntfile的js文件
然后可以直接复制我的js内容哈
 

module.exports = function(grunt) {
//导入要用的模块
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-csslint');
grunt.loadNpmTasks('grunt-contrib-concat');
//配置具体任务
grunt.initConfig({
uglify: { //主任务
a: { //分任务
expand: true, //分开执行
src: 'js/*.js', //源文件地址
dest: 'build' //导入到那个文件中
}
},
cssmin: {
a: {
expand: true, //分开执行
src: 'css/*.css',
dest: 'build'
}
},
htmlmin: {
options: {
removeComments: true, //去注释
collapseWhitespace: true //去空格
},
a: {
src: 'index.html',
dest: 'build/index.html'
}
},
imagemin: {
a: {
expand: true, //分开执行
cwd: 'images',
src: ['**/*.{png,jpg}'],
dest: 'build'
}
},
watch: { //监听
a: {
files: ['index.html', 'css/*.css'],
tasks: ['cssmin', 'htmlmin']
}
}
});
//注册一个默认任务
// grunt.registerTask('default', ['cssmin']);
// grunt.registerTask('default', ['htmlmin']);
// grunt.registerTask('default', ['watch']);
// grunt.registerTask('default', ['uglify']);
// grunt.registerTask('default', ['jshint']);
// grunt.registerTask('default', ['concat']);
grunt.registerTask('default', ['uglify', 'cssmin', 'htmlmin', 'watch']);   
};

可以一次执行一个命令,也可以一次执行多个命令,看心情是吧,你随意
 
配置完成后,就快要走到最后一步了(你马上就要跟可爱的我说再见了)
 
拿起命令行,cd 到当前文档目录,执行一下

grunt 命令(执行默认的任务) ,当然你也可以只执行一类,比如:grunt jshint

 
然后你就会发现多出来一个文件,里面的就是压缩完成的成品啦
 
同时,恭喜你,薪资又涨了一些
 
 
 

grunt前端自动构建工具初级使用的更多相关文章

  1. 前端自动构建工具@gulp入门

    gulp是一个自动化的前端工具.它可以利用自身的插件来实现一些功能,如sass.less编译:浏览器自动刷新,文件压缩.重命名.代码校验(个人使用sublime的插件进行校验)等功能.当然这些功能也可 ...

  2. 前端自动构建工具Gulp入门

    基于nodeJs:通过不同插件能自动完成一系列动作,比如压缩js/css/img.解析模版标签.解析less等: 一.安装gulp 安装nodeJs 打开Node.js command prompt ...

  3. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  4. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  5. 前端开发构建工具gulp的安装使用

    曾几何时还在使用grunt作为前端的构建工具,直到有一天同事向我推荐了gulp,在这里博主将不讨论gulp与grunt各自优势的比较,只为大家介绍gulp如何安装和使用. Gulp 是用 nodejs ...

  6. 前端自动化构建工具 Gulp 使用

    一个月没写博客了,今天有时间,就写个gulp的入门使用吧.. 简介:gulp是一个前端自动化构建工具,可以实现代码的检查.压缩.合并……等等,gulp是基于Node.js的自动任务运行器 一.安装No ...

  7. gulp前端自动化构建工具新手入门篇

    很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...

  8. Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.cs ...

  9. 自动构建工具Gulp

    摘要:  gulp与grunt一样,都是自动构建工具.和grunt相比它更突出一个流的概念,任务是一个接一个执行的.今天就分享如何用gulp做自动化. 安装: gulp也是基于node环境,所以安装g ...

随机推荐

  1. Cabloy全栈JS框架微创新之一:不一样的“移动优先 PC适配”

    前言 目前流行的前端UI组件库都支持移动设备优先的响应式布局特性.但基于Mobile和PC两个场景的不同用户体验,也往往会实现Mobile和PC两个版本. PC场景下的Web工程,如大量的后台前端管理 ...

  2. 如何从请求、传输、渲染3个方面提升Web前端性能

    什么是WEB前端呢?就是用户电脑的浏览器所做的一切事情.我们来看看用户访问网站,浏览器都做了哪些事情: 输入网址 –> 解析域名 -> 请求页面 -> 解析页面并发送页面中的资源请求 ...

  3. 品Spring:bean定义上梁山

    认真阅读,收获满满,向智慧又迈进一步... 技术不枯燥,先来点闲聊 先说点好事高兴一下.前段时间看新闻说,我国正式的空间站建设已在进行当中.下半年,长征五号B运载火箭将在海南文昌航天发射场择机将空间站 ...

  4. jenkins插件之Publish Over SSH的使用

    1,安装 在插件管理选项搜索Publish Over SSH,然后点击安装即可完成 2,安装完成之后,就可以在jenkins的配置系统中找到Publish Over SSH 配置完服务器之后,然后在项 ...

  5. 深度学习论文翻译解析(五):Siamese Neural Networks for One-shot Image Recognition

    论文标题:Siamese Neural Networks for One-shot Image Recognition 论文作者: Gregory Koch   Richard Zemel Rusla ...

  6. 深度汉化GCompris-qt,免费的幼儿识字软件

    1 需求 因为有个小孩上幼儿园了,想开始教他一些汉语拼音和基本的汉字,但通过一书本和卡片又有些枯燥乏味,于上就上网搜索一些辅助认字的应用,还购买了悟空识字APP,在用的过程中发现他设置了很严格的关卡, ...

  7. mybatis #{}和${}的区别是什么?

    #{}是预编译处理,${}是字符串替换.mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值,最后注入进去是带引号的:mybatis在 ...

  8. windows下配置多个tomcat步骤

    步骤如下: 1.使用压缩版的tomcat不能使用安装版的.2.第一个tomcat的配置不变.3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址:增加环境变量CATALINA_BA ...

  9. jQuery常用方法(六)-jQuery 工具

    JQuery Utilities 方法说明 jQuery.browser .msie 表示ie jQuery.browser.version 读取用户浏览器的版本信息 jQuery.boxModel ...

  10. 无广告版本Flash player 一枚,需要的拿走~

    无广告版本flashplayer,国内flashplayer已经被植入了广告,安装后不断的弹出广告使用体验很差,最开始还以为是电脑被恶意植入捆绑插件, 检查半天发现竟然是浏览器的flash playe ...