使用grunt合并压缩js和css文件的方法


Posted in Javascript onMarch 02, 2017

需要了解的知识:

1、nodejs的安装与命令行使用

2、nodejs安装应用

3、grunt的初步了解

本文已假定读者已经熟悉以上知识。

好,我们继续:

任务1:将src目录下的所有zepto及插件合并,并压缩。

--src/
  ajax.js
  assets.js
  callbacks.js
  data.js
  deferred.js
  detect.js
  event.js
  form.js
  fx.js
  fx_methods.js
  gesture.js
  ie.js
  ios3.js
  selector.js
  stack.js
  touch.js
  zepto.js

目录结构:

dist/
node_modules/
src/
Gruntfile.js
package.json
package.json是依赖库文件
Gruntfile.js是执行步骤程序

一、js合并压缩

第一次需要先安装grunt。执行 npm install -g grunt-cli 进行安装。如果已经安装,可以忽略。

1.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-concat": "~0.5.0",
  "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"
 }
}

 2.Gruntfile.js

module.exports = function (grunt) {
 grunt.initConfig({
 concat: {
  options: {
  },
  dist: {
   src: ['src/**/*.js'],//src文件夹下包括子文件夹下的所有文件
   dest: 'dist/built.js'//合并文件在dist下名为built.js的文件
  }
 },
 uglify: {
   build: {
    src: 'dist/built.js',//压缩源文件是之前合并的buildt.js文件
    dest: 'dist/built.min.js'//压缩文件为built.min.js
   }
  }
});
 grunt.loadNpmTasks('grunt-contrib-uglify');
 grunt.loadNpmTasks('grunt-contrib-concat');
 grunt.registerTask('default', ['concat','uglify']);
}

执行步骤:

(1)安装依赖,已安装可以忽略: npm install 。将会下载依赖的文件到node_modules目录。

(2)执行合并压缩: grunt

>grunt
Running "concat:dist" (concat) task
File dist/built.js created.
Running "uglify:build" (uglify) task
File "dist/built.min.js" created.
Done, without errors.

将会在dist目录生成

built.js
built.min.js

任务2:将src/css目录下的所有css文件合并,并压缩。

二、对CSS进行合并压缩

需要安装grunt-css。执行 npm install grunt-css 安装。安装成功,下载到 node_modules/grunt-css 。如果已经安装,可以忽略。

1、package.json同上;

2、Gruntfile.js如下:

module.exports = function (grunt) {
 grunt.initConfig({
 concat: {//css文件合并
  css: {
   src: ['src/css/*.css'],//当前grunt项目中路径下的src/css目录下的所有css文件
   dest: 'dist/all.css' //生成到grunt项目路径下的dist文件夹下为all.css
  }
 },
 cssmin: { //css文件压缩
   css: {
    src: 'dist/all.css',//将之前的all.css
    dest: 'dist/all.min.css' //压缩
   }
  }
});
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-contrib-concat');
 grunt.registerTask('default', ['concat','cssmin']);
}

参考:

1、 Grunt中文网

http://www.gruntjs.net/getting-started

以上所述是小编给大家介绍的使用grunt合并压缩js和css文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
JQuery中层次选择器用法实例详解
May 18 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
Sep 16 Javascript
BootStrap表单验证实例代码
Jan 13 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
JavaScript实现区块链
Mar 14 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
javascript设计模式之迭代器模式
Jan 30 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
Mar 02 #Javascript
浅谈Vue.js
Mar 02 #Javascript
利用imgareaselect辅助后台实现图片上传裁剪
Mar 02 #Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 #Javascript
Bootstrap入门教程一Hello Bootstrap初识
Mar 02 #Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
Mar 02 #Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 #Javascript
You might like
PHP获取MAC地址的具体实例
2013/12/13 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
分页栏的web标准实现
2011/11/01 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
javascript每日必学之循环
2016/02/19 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
Angular工具方法学习
2016/12/26 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
vue ssr 指南详读
2018/06/29 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
python用字典统计单词或汉字词个数示例
2014/04/22 Python
JSON Web Tokens的实现原理
2017/04/02 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
老师推荐信
2013/10/28 职场文书
党员干部承诺书范文
2014/03/25 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
八年级作文之感恩
2019/11/22 职场文书
Python开发简易五子棋小游戏
2022/05/02 Python