- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前言
以现在前端js激增的态势,一个项目下来几十个js文件轻轻松松对于复杂一点的单页应用来说,文件上百简直是家常便饭,那么这个时候我们的js文件应该怎么处理呢?另外,对于css文件,又该如何处理呢??这些都是我们实际工作中要遇到的问题,比如我们现在框架使用zepto、backbone、underscore我们要如何将他们合成一个libs文件,这都是令人头疼的问题
但是grunt的出现却让这些事情变得优雅起来!简单一键,打包结束,尼玛不是不可能啊!
grunt
是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查
对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩、合并文件
初学,有误请包涵
准备阶段
1、nodeJs环境
因为grunt是基于nodeJs的,所以首先各位需要安装nodeJS环境,这块我们便不管了
2、安装grunt
有了nodeJs环境后,我们便可以开始搞grunt了,因为我们可能在任何目录下运行打包程序,所以我们需要安装CLI官方推荐在全局安装CLI(grunt的命令行接口)
npm install -g grunt-cli
这条命令将会把grunt命令植入系统路径,这样就能在任意目录运行他,原因是
每次运行grunt时,它都会使用node的require查找本地是否安装grunt,如果找到CLI便加载这个本地grunt库 然后应用我们项目中的GruntFile配置,并执行任务PS:这段先不要管,安装完了往下看
实例学习:打包zepto
一些东西说多了都是泪,直接先上实例吧,实例结束后再说其它的首先在D盘新建一个项目(文件夹就好)在里面新增两个文件(不要问为什么,搞进去先)
① package.json
{
name: demo,
file: zepto,
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
}
}
② Gruntfile.js
完了我们需要在grunt目录下执行 npm install将相关的文件下载下来:
$ cd d:
$ cd grunt
然后我们的目录就会多一点东西:
多了很多东西,先别管事干什么的,我们后面都会用到,这个时候在目录下新建src文件夹, 并且搞一个zepto进去
然后在Gruntfile中新增以下代码(先别管,增加再说)
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]);
}
然后运行 grunt命令后
grunt
嗯嗯,多了一个文件,并且是压缩的,不差!!!第一步结束
认识Gruntdile与package.json
不出意外,每一个gurnt都会需要这两个文件,并且很可能就只有这两个文件(复杂的情况有所不同)
package.json
这个文件用来存储npm模块的依赖项(比如我们的打包若是依赖requireJS的插件,这里就需要配置)然后,我们会在里面配置一些不一样的信息,比如我们上面的file,
您可能关注的文档
最近下载
- 妈妈我要亲亲你.pptx VIP
- 八年级地理上册中国气候(第三课时)课件湘教版.ppt VIP
- 第十三讲先锋队与中华民族独立解放+第十四讲新中国与中华民族的新纪元(1949—2012)-中华民族共同体概论专家大讲堂课件+第十五讲新时代与中华民族共同体建设.pptx VIP
- 第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-中华民族共同体概论专家大讲堂课件+第九讲混一南北与中华民族大统合(元朝时期)-中华民族共同体概论专家大讲堂课件.pptx VIP
- 最新最新版糖尿病防治指南课件.pptx VIP
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观.pptx VIP
- 城市更新项目可行性研究报告.docx
- 湘教版八年级上册地理中国的气候(第1课时).ppt VIP
- 铭记历史,砥砺前行——抗战胜利80周年主题班会(课件)-2025-2026学年高中主题班会优质课件.pptx VIP
- 妈妈我要亲亲你1.ppt VIP
文档评论(0)