使用gulp进行代码压缩

gulp是一个很不错前端自动化工具,可以帮我们完成一些重复性操作,比如html、css和js代码的压缩、合并、混淆等,虽然这些操作可以通过一些在线工具帮我们实现,但不断重复地复制粘贴肯定比不上一句命令来得方便,所以编写gulp任务可以大大提高程序员的开发效率。

因为gulp依赖于node环境,所以想使用gulp必须先安装好node。另外gulp本身是一个轻量化内核,自身拥有的api不多,所以很多功能需要依赖插件完成。关于html、css和js代码压缩的插件有三个,分别是gulp-htmlmin、gulp-cssnano、gulp-uglify,这三个插件的具体说明可以在npm的官网npmjs.com上查看。

在项目根目录下安装:

npm install --save-dev [xxx]

因为gulp和它的插件都是开发阶段使用的,整个项目并不依赖它们,所以尽量加上“-dev”。

一下是gulpfile.js主文件(所有gulp任务都写在这个文件里):

 1 ‘use strict‘;
 2
 3 var gulp = require(‘gulp‘);
 4
 5 //压缩html
 6 var htmlmin = require(‘gulp-htmlmin‘);
 7 gulp.task(‘html‘, function(){
 8     gulp.src(‘./*.html‘)
 9         .pipe(htmlmin({
10             collapseWhitespace: true,
11               removeComments: true
12         }))
13         .pipe(gulp.dest(‘dist‘));
14 });
15
16 //压缩css
17 var cssnano = require(‘gulp-cssnano‘);
18 gulp.task(‘style‘, function(){
19     gulp.src([‘./css/style.css‘,‘./css/piano.css‘])
20         .pipe(cssnano())
21         .pipe(gulp.dest(‘dist/css‘));
22 });
23
24 //压缩js
25 var uglify = require(‘gulp-uglify‘);
26 gulp.task(‘script‘, function(){
27     gulp.src([‘./js/common.js‘,‘./js/piano.js‘])
28         .pipe(uglify())
29         .pipe(gulp.dest(‘dist/js‘));
30 });
31
32 //同步代码变化
33 gulp.task(‘dist‘, function(){
34     gulp.watch(‘./*.html‘, [‘html‘]);
35     gulp.watch([‘./css/style.css‘,‘./css/piano.css‘], [‘style‘]);
36     gulp.watch([‘./js/common.js‘,‘./js/piano.js‘], [‘script‘]);
37 });

执行任务直接在cmd中输入gulp [任务名]

时间: 2024-12-30 02:57:57

使用gulp进行代码压缩的相关文章

gulp教程之压缩合并css,js

package.json如果你熟悉 npm 则可以利用 package.json 保存所有 npm install --save-dev gulp-xxx 模块依赖和模块版本.在命令行输入 npm init 会依次要求补全项目信息,不清楚的可以直接回车跳过 安装依赖安装 gulp 到项目(防止全局 gulp 升级后与此项目 gulpfile.js 代码不兼容) nup install gulp --save-dev 说明:--save-dev 保存配置信息至 package.json 的 dev

apicloud代码压缩和全局加密

首先说代码压缩,因为没什么用,就先说它了.代码压缩后,apicloud里面的css和js文件里面的空格呀回车呀都去掉了,就是文件小了,所有代码显示为一行了.这些代码的变量没有重命名,我们知道jquery.min.js里面的很多变量是重命名了的,都是变为a呀,b呀什么的.apicloud之所以不重命名,是因为它的html没有压缩,是和原来一样的,所以说,如果js重命名了,但html又没重命名的话,你懂的,名字对应不上,会出大乱子. 代码压缩的作用一般是什对网站的,文件体积变小,节省流量,加载更快,

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

一.$scope和$rootScope的区别 一句话总结: $rootScope针对全局的作用域生效 $scope只针对当前的controller作用域生效 二.AngularJS模块的run方法 run方法初始化全局的数据,只对全局作用域起作用 如$rootScope <script type="text/javascript"> var m1 = angular.module('myApp', []); m1.run(['$rootScope', function ($

Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容

Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器,用于代码压缩. /*页面压缩 筛选器*/ public class WhiteSpaceFilter : Stream { private Stream _shrink; private Func<string, string> _filter; public WhiteSpaceFilter(Stream shrink, Func<string, string> filter) { _shrink = shrink;

Angularjs MVC 以及 $scope 作用域 Angularjs 模块 的 run 方法 以及依赖注入中代码压缩问题

Angularjs MVC 以及 $scope 作用域 Angularjs 模块的 run 方法 以及依赖注入中代码压缩问题 1. Angularjs MVCModel:数据模型层View:视图层,负责展示Controller:业务逻辑和控制逻辑优点: 代码模块化 代码逻辑比较清晰.可移值性高,后期维护方便.代码复用,代码规模越来越大的时候,切分职责是大势所趋缺点:运行效率稍微低一些2. Angularjs $scope 作用域1. $scope 多控制器单独作用域<!DOCTYPE html>

UglifyJS--javascript代码压缩使用指南{转}

在线测试地址 http://lisperator.net/uglifyjs/下面都是基于linux系统的安装使用.UglifyJS是遵循了CommonJS规范写成的,可以在支持CommonJS模块系统的javascript环境中运行.当然,这是官方的说法,通俗的说,就是可以在浏览器里和node.js的环境中兼可运行了. UglifyJS的作者在今年9月份的时候,开始了UglifyJS2的项目,作者本人也是比较推崇UglifyJS2,因此,本文就只是关于UglifyJS2的一些介绍.下文中所有的U

angularjs1-2,作用域、代码压缩

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="angular.min.js">

webpack -- 代码压缩

一.代码压缩坑 正常情况下,如果我们配置生成环境,webpack会自动帮js压缩,必须配置--mode=production scripts: { "build": "webpack --mode-production" } 但是如果我们要把css也压缩的话,问题就来了,css压缩 npm install optimize-css-assets-webpack-plugin --save-dev npm install cssnano --save-dev 调用 c

gulp 项目构建 代码压缩与混淆

1.gulp安装 需要全局安装:npm install gulp -g 还需要本地安装,在项目目录中:npm install gulp --save 2.gulp使用 在项目目录中新建1个gulpfile.js文件. 在这个文件中写上构建代码. gulp-uglify 压缩js 压缩混淆js代码,需要gulp-uglify插件支持.使用npm安装该插件  npm install gulp-uglify // 获取 gulp var gulp = require('gulp'); // 获取 ug