windows本地搭建grunt前端项目构建环境
初学,目前对grunt的理解和需求仅在于简单的文件合并、压缩、语法检查,其强大功能还有待研究。
安装前环境准备
(1)grunt依赖nodejs运行环境,所以要玩grunt得先把nodejs安装好,nodejs安装复杂不?一点不复杂,文件也不大,直接下载安装即可。
nodejs下载地址:http://nodejs.org/
安装grunt
(1)安装好nodejs后,就可以安装grunt。grunt安装是不是也要下载个安装文件?度娘和google发现,都是采用npm这个玩儿来安装,具体采用文件安装没研究。
ps:npm是nodejs中包管理和分发的工具,咱们上面安装nodejs时,就安装好了,所以这里直接使用即可。
安装grunt命令:npm install -g grunt-cli
ps:注意一定要加-cli,文档上说这玩儿会将grunt加入到系统变量中,这样就可以到处使用了,当然如果不加,可能需要自己手动去配置环境变量
至此:grunt安装完毕
使用grunt创建项目
通过上面的步骤,grunt已经ok了,接下来就是用其创建项目。你可能有疑问?“哥只想用期来合并、压缩文件,用得到创建个项目吗?”。对于这个问题得先理解好grunt。
(1)grunt是一个项目构建环境,这个有点类似于ant。grunt本身并没有提供“啥合并、压缩”功能。
(2)这里的创建工程,其实就是grunt根据你的配置文件,加载好相关包,完成一个你想要实现的目标。比如说,你想要“合并文件”这个功能,那么就得告诉grunt,它会根据这个配置为你创建好一个具有“合并文件”功能的“可执行程序”。
那如何创建项目呢?
(1)得先为咱们将要创建的项目建立一个空文件夹,如“d:\javascriptDemo”,咱们后面的命令创建步骤仅在此项目下,即在这个文件夹下执行命令。
(2)上面提到,grunt创建项目要先有配置文件。也就是说在创建项目之前,咱们得先搞个配置文件,这个配置文件就是package.json。哥手上没有这玩儿,不怕,咱们的npm会创建这东西。
执行:npm init 即可创建package.json配置文件,该命令过程中会提示输入一些参数,比如项目描述、git地址、作者、密码等,如下图,其中出现的json数据就是该文件夹的内容:

不过有点可惜,采用npm init创建的配置文件似乎不是我们所需要的“文件压缩、合并”功能的配置文件,对于这种情况,其实百度一下找个模板即可。package.json文件压缩、合并配置模板如下:
{
"name": "demo",
"file": "jquery.calendar",
"version": "0.1.0",
"description": "demo",
"license": "MIT",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.6.3",
"grunt-contrib-uglify": "~0.2.1",
"grunt-contrib-requirejs": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-clean": "~0.5.0",
"grunt-strip": "~0.2.1"
},
"dependencies": {
"express": "3.x"
}
}
(3)从配置文件中可以得知,我们在其中定义了需要处理的文件"jquery.calendar",以及一堆依赖包。ok,那现在可以创建项目了。
执行命令:grunt install 该命令执行后,你会发现咱们的项目文件夹下多了好多东西,这些东西其实就是咱们的运行程序需要用到的文件了。
小试文件压缩功能
通过上面的步骤,咱们的grunt压缩环境已经创建好了,那现在可以试一下压缩功能了?不急!
(1)咱们的待处理文件放在哪里啊?默认是放在项目根命令下的src文件夹中,所以我们得先在根目录中建立一个"src",把需要处理的jquery.calendar.js放置其中。
(2)grunt怎么知道我是要做压缩功能呢?package.json只是配置了依赖包和待处理文件,并没说明我要做压缩功能啊?对!这个问题咱们得引入另一个文件来解决。
该文件就是Gruntfile.js。该文件是个js不是配置文件,其实可以看做是运行的入口,同样文件放置项目根目录下:
文件样例:
module.exports = function (grunt) {
// 项目配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%=pkg.file %>.js',
dest: 'dest/<%= pkg.file %>.min.js'
}
}
});
// 加载提供"uglify"任务的插件
grunt.loadNpmTasks('grunt-contrib-uglify');
// 默认任务
grunt.registerTask('default', ['uglify']);
}
ok!一切就绪,执行 grunt 命令!你会发现咱们的min文件在根目录下的dest就创建好了。
再试文件合并功能
上面的工程环境都配置好了,那么文件合并功能,按道理就是修改下配置即可了。合并文件依赖于grunt-contrib-concat插件,所以我们的package依赖项要新增一项"grunt-contrib-concat": "~0.3.0"。
{
"name": "demo",
"file": "jquery.calendar",
"version": "0.1.0",
"description": "demo",
"license": "MIT",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.6.3",
"grunt-contrib-uglify": "~0.2.1",
"grunt-contrib-requirejs": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-clean": "~0.5.0",
"grunt-strip": "~0.2.1",
"grunt-contrib-concat": "~0.3.0"
},
"dependencies": {
"express": "3.x"
}
}
咱们的运行入口也得变一下,告诉grunt,这回我要做的是文件合并,合并src下所有js。
module.exports = function (grunt) {
// 项目配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';'
},
dist: {
src: 'src/*.js',
dest: 'dest/test.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
// 默认任务
grunt.registerTask('default', ['concat']);
}
ok!执行命令 grunt
哦,no!!出现错误,提示“grunt-contrib-concat”没安装!,ok咱们就安装。
执行:npm i --save-dev grunt-contrib-imagemin
再次运行 grunt,一切ok!!

如果我们需要合并又要压缩呢,修改配置文件即可。留点给自己去研究吧..........
windows本地搭建grunt前端项目构建环境的更多相关文章
- windows本地搭建nginx+php+mysql+redis环境详细步骤
1.mysql的下载和安装 这个可参考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html 2.php的下载和配置修改 下载地址:https://w ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架
在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框 ...
- react-native —— 在Windows下搭建React Native Android开发环境
在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...
- windows下搭建Apache+Mysql+PHP开发环境
原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...
- 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)
首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
- Windows本地搭建Edusoho环境
Windows搭建Edusoho比Linux还要轻松的多.因为有很多环境集成工具如xampp.wampserver.phpstudy等.基本上安装号wampserver工具,直接将edusoho项目扔 ...
- 前端项目构建之yeoman
各位好啊,我又和大家见面了,也许你已经不记得大明湖畔的容嬷嬷,但是只要记得博客园中的我就好,希望我的博客能像一股清风,为你驱散炎热的酷暑,好了,废话不多说,开始上干货,我今天带给大家的是前端工程化开发 ...
随机推荐
- BestCoder Round #20 部分题解(A,B,C)(hdu5123,5124,5125)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud who is the best? Time Limit: 2000/1000 MS ...
- 前端学习书籍大全 包含PDF地址
JavaScript类: javascript高级程序设计 pdf下载 ---->教程 javascript权威指南 pdf下载 ---->教程 javascript基础教程 pdf下载 ...
- CSS样式中,background-image 背景图片居中显示并且在不同屏幕分辨率下始终居中
body { margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; background-colo ...
- PHP读取EXCEL时写入数据乱码解决办法
第一步排除excel读取的数据是不是乱码 EXCEL读取时经常会出现乱码,而我们常用的字符集是UTF-8 ,GB2312(GBK) ,这就需要对编码进行转换,但是又不能对纯数字和英文字符转换,否则会乱 ...
- git status简介
git status命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件.. 比如; git status # On branch maste ...
- CSS--table之min-height
table中min-height不起作用. 但是height其实相当于min-height 超过的部分会自动撑开.
- 为什么选择使用 Dropbox 而不是其他品牌同步工具(不要加上多余的功能,要极致和专注)
作者:吴锋链接:http://www.zhihu.com/question/19646859/answer/14707821来源:知乎著作权归作者所有,转载请联系作者获得授权. 窃以为楼主的问题,准确 ...
- Contains Duplicate II 解答
Question Given an array of integers and an integer k, find out whether there are two distinct indice ...
- HDU 3634 City Planning (离散化)
City Planning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- poj 1015 Jury Compromise_dp
题意:n个陪审团,每个陪审团有x,y值,选出m个陪审团,要求 (sum(xi)-sum(yi))最少,当 (sum(xi)-sum(yi))最少有多个,取sum(xi)+sum(yi)最大那个 ,并顺 ...