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

发布时间 - 2026-01-10 23:22:54    点击率:

需要了解的知识:

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文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# grunt  # 压缩js  # css  # 详解使用grunt完成requirejs的合并压缩和js文件的版本控制  # 使用GruntJS构建Web程序之合并压缩篇  # 使用GruntJS链接与压缩多个JavaScript文件过程详解  # 目录下  # 小编  # 已经安装  # 文件合并  # 将会  # 在此  # 会在  # 中文网  # 给大家  # 所述  # 命令行  # 给我留言  # 感谢大家  # 压缩文件  # 疑问请  # 有任何  # 文件压缩  # 先安装  # Gruntfile  # node_modules 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: 如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  php结合redis实现高并发下的抢购、秒杀功能的实例  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  音乐网站服务器如何优化API响应速度?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何快速上传建站程序避免常见错误?  Laravel怎么上传文件_Laravel图片上传及存储配置  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  大型企业网站制作流程,做网站需要注册公司吗?  详解CentOS6.5 安装 MySQL5.1.71的方法  如何在云主机上快速搭建网站?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  怎么用AI帮你设计一套个性化的手机App图标?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  如何用狗爹虚拟主机快速搭建网站?  如何在IIS中新建站点并配置端口与IP地址?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  米侠浏览器网页背景异常怎么办 米侠显示修复  香港服务器租用每月最低只需15元?  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  高端云建站费用究竟需要多少预算?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  简历没回改:利用AI润色让你的文字更专业  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  常州企业网站制作公司,全国继续教育网怎么登录?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何利用DOS批处理实现定时关机操作详解  网站制作壁纸教程视频,电脑壁纸网站?  Laravel如何创建自定义中间件?(Middleware代码示例)  Bootstrap CSS布局之列表  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel如何记录自定义日志?(Log频道配置)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何破解联通资金短缺导致的基站建设难题?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  教你用AI将一段旋律扩展成一首完整的曲子  如何快速搭建个人网站并优化SEO?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel Docker环境搭建教程_Laravel Sail使用指南  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel怎么在Controller之外的地方验证数据