最近在学习Bootstrap,了解一部分之后,发现Bootstrap使用了LESS,好嘛,开始学习LESS,LESS了解部分,发现自动编译工具Grunt,了解Grunt过程发现需要使用node.js的npm工具和语法。。。。。。得,打住吧,先安装node吧,之后再了解。由于本屌丝使用的是win7系统,所以以下教程均在win7下测试。

1.准备工作:安装node.js:http://www.w3cschool.cc/nodejs/nodejs-install-setup.html

新版nodejs自带npm管理工具,可通过命令npm -version查看

如果你之前安装过node,可通过命令将npm更新到最新版:npm install npm@latest

2.安装Grunt-CLI:

npm install -g grunt-cli  带g标识符把grunt命令符植入到系统路径,这样你可以在任何文件目录下运行grunt命令。可通过grunt -version查看是否安装成功。

3.grunt测试:

3.1 新建个项目文件project,project下新建两个文件夹src和dest,src存放手工编写的相应文件,如menu.js与slide.js。dest文件存放grunt运行后的结果。


3.2 在项目project文件下新建package.json文件:
文件内容如下:



保存后进入项目文件下,执行命令npm install下载grunt工具。
前三个警告是由于我们的json文件里没有加入description属性和repository对象,还有README的介绍。可以自行加入。

。。。。。。


完成后会发现我们的project文件下多了个node_modules文件夹,而里面保存的就是我们刚刚在package.json下定义要加载的插件。
3.3 新建Gruntfile.js文件
module.exports = function(grunt) {
//配置
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
//concat插件的用途
concat : {
bar : {
src : ['src/menu.js','src/slide.js'],
dest : 'dest/main.js'
}
},
//uplify插件的用途
uglify : {
options : {
banner : '/* <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build : {
src : 'dest/main.js',
dest : 'dest/main.min.js'
}
}
}); //载入concat和uglify插件,分别对于合并和压缩
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
//注册任务
grunt.registerTask('default',['concat','uglify']);
};

3.4 运行grunt命令


3.5 此时会发现dest目录下有main.js与main.min.js两个文件。至此大功大功告成。


前端自动化Grunt教程的更多相关文章

  1. [前端自动化]grunt的简单使用

    前言 现在前端自动化已经是家常便饭,各种工具也是层出不穷,grunt.gulp.webpack是应用最广的三种工具,虽然grunt看似已垂垂老矣,但是以前写的很多项目一直用的就是grunt,温故方能知 ...

  2. 前端自动化grunt轻松入门

    如果你还不了解grunt,或者只是听过它的名字而没有去研究过它,那么这篇入门级的文章就是为你写的,相信看完你就会爱上grunt! grunt是什么? grunt是一个非常好的自动化工具,你只管code ...

  3. Grunt安装配置教程:前端自动化工作流

    Grunt这货是啥? Grunt 是一个基于任务的 JavaScript 项目命令行构建工具. 最近很火的前端自动化小工具,基于任务的命令行构建工具 http://gruntjs.com Grunt能 ...

  4. 前端自动化学习笔记(一)——Yeoman,bower,Grunt的安装

    最近看视频学习了前端自动化的一些知识,确实让我大开眼界.感觉前端越来越神器了.同时跟着视频自己也尝试运用了一些工具去构建前端项目,但是中间遇见了很多坑,磕磕绊绊的才实现了一点功能,所以打算记录一下学习 ...

  5. 前端自动化开发之grunt

    上篇文章介绍了前端模块化开发工具seaJs,利用seaJs我们可以轻松实现前端的模块化编程,参见http://www.cnblogs.com/luozhihao/p/4818782.html 那么今天 ...

  6. 前端工作流程自动化——Grunt/Gulp 自动化

    什么是自动化 先来说说为什么要自动化.凡是要考虑到自动化时,你所做的工作必然是存在很多重复乏味的劳作,很有必要通过程序来完成这些任务.这样一来就可以解放生产力,将更多的精力和时间投入到更多有意义的事情 ...

  7. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  8. 前端自动化神器LiveReload配合浏览器和less/sass使用方法

    前言:搜了半天,各种推荐,什么十大工具啦.优秀工具集合啦之类的咸淡文章,就是没有一个讲怎么弄的.配合官网的article自己研究了半天总算配置好了.顺便吐槽下官网关于sass/less设置这块说的模糊 ...

  9. Grunt教程——初涉Grunt

    前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为庞大和复杂,代码维护.打包.发布等流程也 变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误 ...

随机推荐

  1. thymeleaf初步使用

    thymeleaf模板引擎初步使用 #thymelea模板配置 spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffi ...

  2. HDU6383 2018 “百度之星”程序设计大赛 - 初赛(B) 1004-p1m2 (二分)

    原题地址 p1m2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  3. Codeforces 208E - Blood Cousins(树上启发式合并)

    208E - Blood Cousins 题意 给出一棵家谱树,定义从 u 点向上走 k 步到达的节点为 u 的 k-ancestor.多次查询,给出 u k,问有多少个与 u 具有相同 k-ance ...

  4. 分析dump

    一.使用jmap工具生成dump文件 二.MAT工具的下载和安装 三.使用MAT工具进行内存泄露分析  -- Step 1 :  ps –ef | grep <process> (whic ...

  5. 路由器漏洞利用工具RouterSploit

     路由器漏洞利用工具RouterSploit 网络中存在大量的嵌入式设备,如路由器.智能摄像头.这类设备安全防护程度较低.由于这些设备更新不方便,一旦发现漏洞,往往不能及时修复.所以,在网络渗透测试中 ...

  6. Linux下安装PHP的GD支持库

    Linux下安装PHP的GD支持库   1.安装 zlib  wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/zlib-1.2.3.tar.gz ...

  7. 数据块dump详解及大小表扫描过程

    http://blog.csdn.net/u013820054/article/details/40378233 http://blog.csdn.net/u013820054/article/cat ...

  8. Linux下安装Eclipse的PHP插件(PHPEclipse)

    下载: Eclipse: http://www.eclipse.org/downloads/       (本人用的Ubuntu,直接在SoftWare Center中下载的) (选择适合你系统的相应 ...

  9. crossapp的屏幕适配

    1.分辨率是的某个尺寸大小的屏幕里的像素点数ppi 2.crossapp茶用iphone4为基准比例值为1 3.其它分辨率设备的换算dp = px * 320/ 屏幕PPI 4.crossapp里点. ...

  10. sql中用JOIN USING 简化JOIN ON

    Mysql 中联接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name. 当模式设计对联接表的列采用了相同的命名样式时,就可以使用 USI ...