1.先安装Node.js环境

Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器。Node.js的下载链接

安装完后进行验证

2.安装grunt及插件

通过npm install grunt命令行来安装grunt

安装完后文件夹里会多出node_modules文件夹和package-lock.json文件

npm install -g grunt-cli

他可以让你在项目的任意子目录中运行grunt 。

压缩css文件要用到的grunt插件是 grunt-contrib-cssmin所以我们通过命令行npm install grunt-contrib-cssmin来安装

我们在box文件夹下安装,但是他会自动安装到node_modules文件夹中(ps:用‘cd’命令可以切换文件路径。切换磁盘直接 ‘盘符+:’即可)

3.配置package.json和Gruntfile.js文件

首先通过npm init来生成package.json文件,

运行完后文件夹里就会多一个package.json文件

文件内容如下所示:

{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"grunt": "^1.0.1",
"grunt-contrib-cssmin": "^2.2.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "lg",
"license": "ISC"
}

接下来配置Gruntfile.js文件

module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cssmin: {
files:{
expand: true, //必要的
cwd: 'src', //要压缩的文件所在位置的固定路径
src: '**/*.css', //要压缩的文件所在位置
dest: 'dist', //压缩后的文件所在位置
ext:'.min.css' //压缩后的文件命名
}
}
});
//运行grunt-contrib-cssmin插件
grunt.loadNpmTasks('grunt-contrib-cssmin'); //当输入grunt命令时运行grunt-contrib-cssmin
grunt.registerTask('default', ['cssmin']);
}

激动人心的时刻到了,下面就来压缩我们的css文件了

输入grunt

再俩看目录结构,可发现在dist下新建了一个css文件夹,结构和src文件夹保持一致

这是由于src: '**/*.css',  匹配了src文件夹下所有css文件,

ext:'.min.css'让我们压缩所有css文件,而不是单个文件。

好了Grunt压缩css就说完了,更多内容自然是参见grunt官网咯,官网

用grunt对css代码进行压缩的更多相关文章

  1. CSS格式化 CSS代码压缩工具

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 整理及优化CSS代码的7个原则

    作为网页设计师(前端工程师),你可能还记得曾经的那个网页大小建议:一个网页(包括HTML.CSS.Javacript.Flash和图片)尽量不要超过30KB的大小,随着互联网的日益庞大,网络带宽也在飞 ...

  3. Grunt: 拼接代码,js丑化(压缩),css压缩,html压缩,观察文件,拷贝文件,删除文件,压缩文件

    准备工作 grunt 基于nodeJs所以 nodeJs需要的基础配置都需要安装 1.Grunt 安装 npm install -g grunt-cli 这是全局安装 2.在当前文件下npm init ...

  4. 自写脚本实现上线前本地批量压缩混淆 js , css 代码。

    最近做项目遇到一个要求,就是把本地的 js 和 css 进行压缩后再上线,由于之前项目并没有使用 webpack 之类的库,项目上也因为一些机密不能在线上压缩,这无疑给代码打包压缩带来了很大麻烦,于是 ...

  5. gulp 压缩 js 和 css 代码

    我们在写出来的代码都是非常规范的,改换行的时候就换行,改tab 的时候就有tab,还有这样做是为了后期维护方便,但是这也导致了内存占用量的增大,当把把代码发到线上,如果网速慢一点,可能很久都加载不出来 ...

  6. 使用Ant和YUICompressor链接合并压缩你的JS和CSS代码

    JS代码和CSS代码在上线前要压缩大家应该都是知道的了.记得之前做项目的时候,最后要交差的时候是找了个网站,将JS代码的文件一个一个地复制,粘贴,复制,粘贴. 当时就在想:TMD有没有好一点的方法,劳 ...

  7. 用Grunt进行CSS文件压缩

    假设你的项目的CSS文件全部放在项目目录下名为css的文件夹中,现在将它压缩合并成一个名为main-min.css的文件,放在css-min文件夹下. (1)首先保证机器安装了node.js. (2) ...

  8. 20个编写现代 CSS 代码的建议

    明白何谓Margin Collapse 不同于其他很多属性,盒模型中垂直方向上的Margin会在相遇时发生崩塌,也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时,只有二者中的较 ...

  9. 【grunt整合版】30分钟学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

随机推荐

  1. Security注解:@PreAuthorize,@PostAuthorize, @Secured, EL实现方法安全

     说明 (1)JDK版本:1.8(2)Spring Boot 2.0.6(3)Spring Security 5.0.9(4)Spring Data JPA 2.0.11.RELEASE(5)hibe ...

  2. [转]Python 的列表解析式,集合解析式,字典解析式

    Python 的列表解析式,集合解析式,字典解析式 这三种都是 python 里面的语法糖. 语法糖,Syntactic Sugar,就是为了写程序时候少出错,发明的一些简便的方法,但不影响这个语法的 ...

  3. Win7+ 电脑 休眠 自动唤醒

    https://jingyan.baidu.com/article/3ea51489d905df52e71bba6b.html

  4. Django04-模板系统Template

    一.模板支持的语法 Django模板中只需要记两种特殊符号: {{ }}表示变量,在模板渲染的时候替换成值{% %}表示逻辑相关的操作. 二. 变量(使用双大括号来引用变量) 1.语法格式:{{var ...

  5. MySQL Windows环境变量设置

    问题:MySQL无法全局使用 1.查找MySQL路径 2.添加环境变量 3.验证功能

  6. 一个suse11 sp1的crash工具版本问题

    这几年排查的各种类型的crash也比较多了,各种类型的也算见过,但是排查这个crash,走了不该走的弯路,事后显得很low,为了防止自己犯类似错误,也同时提醒后人,记录之. 内核是suse11,sp1 ...

  7. 使用cmd命令导入SQL文件

    1 . 进入SQL安装目录下的bin目录,比如我的是在 C:\Program Files\MySQL\MySQL Server 5.5\bin目录下 2. 开始 --->运行--->输入c ...

  8. Day02 - Ruby比一比:Module模块与Class类别

    前情提要 在第一天里,我很激昂地用Ruby的类别.物件.方法,写了宣言! class TingIsIronman def initialize @message =“I'm going to writ ...

  9. C# 消息队列 RabbitMQ

    1.引言 RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适. RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协 ...

  10. Linux localtime_r调用的一个小问题

    我们一个项目中有如下代码: time_t loc_time; loc_time = time(NULL); localtime_r(&loc_time,&ptr); 这段代码本意是获取 ...