用gulp实现代码压缩、图片压缩和项目打包

本文档详细介绍了如何在装好node.js的环境中,通过gulp进行代码、图片压缩以及项目打包的步骤。首先,通过npm init初始化项目并安装gulp。接着创建项目文件夹,编写gulpfile.js,并解决运行时可能出现的错误。然后,逐步安装并配置gulp-htmlmin、gulp-cssmin和gulp-imagemin等插件,分别用于HTML、CSS和图片的压缩。最后,通过运行相应的gulp任务,将压缩后的文件输出到dest目录下,完成项目打包过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在装好node.js的前提下第一步 在cmd命令行窗口运行

cd 到项目文件夹运行    npm init    运行完成后

第二步运行 npm install gulp --save-dev

第三部在相中创建js、css、html、image文件夹

第四部创建gulpfile.js文件js文件内容

var gulp = require('gulp');

gulp.task('task-name', function() {
      console.log("hello gulp")
});

然后在运行gulp task-name;

运行结果报错TypeError:Cannot read property 'apply' of undefined;

这里的报错解决办法 安装全局gulp-cli 

npm install gulp-cli -g  在命令行运行这句话

在运行gulp  task-name 控制台会打印出hello gulp

项目目录展示:

下一步安装打包html需要用到的插件gulp-htmlmin插件

npm install gulp-htmlmin -s

安装完成后在gulpfile.js中间添加以下内容:

var gulp = require('gulp');

var htmlmin = require('gulp-htmlmin');

gulp.task('html',function(){
var options = {
        collapseWhitespace:true,
        collapseBooleanAttributes:true,
        removeComments:true,
        removeEmptyAttributes:true,
        removeScriptTypeAttributes:true,
        removeStyleLinkTypeAttributes:true,
        minifyJS:true,
        minifyCSS:true
};
gulp.src('html/*.html')
    .pipe(htmlmin(options))
    .pipe(gulp.dest('dest/html/'));
});

 

然后在命令行窗口运行gulp html,会在项目目录中生成dest文件里面就有html的压缩代码


 

下一步进行css打包压缩

先安装 gulp-cssmin插件和gulp-cssmin安装完成后再将下面代码贴进去  

const cssmin = require('gulp-cssmin')//通过cssmin将上一步骤生产出的style.css去掉中间的空白,使他变成压缩格式
const rename = require('gulp-rename') //rename只是给上一步骤产出的压缩的styles.css重命名为style.min.css
var buildBasePath = 'dome'

//css打包压缩代码
//gulp文件流:src表示源头->pipe表示管道->dest表示终点
gulp.task('css', function () {
    return gulp.src('css/*.css') //需要打包的css文件目录(gulp流的源头)
        .pipe(cssmin()) //通过cssmin将上一步骤生产出的style.css去掉中间的空白,使他变成压缩格式
        .pipe(rename({
            suffix: '.min' //rename只是给上一步骤产出的压缩的styles.css重命名为style.min.css
        }))
        .pipe(gulp.dest('dest/css')) //dest方法把上一步骤产出的style.min.css输出到“./dist/css”目录下(gulp流的终点)
})

然后运行gulp css就完成css样式打包。

下一步图片打包压缩代码

const imagemin = require('gulp-imagemin') //压缩图片
cache = require('gulp-cache');
const del = require('del');
notify = require('gulp-notify');

先安装 gulp-cache、del插件和gulp-notify安装完成后再将下面代码贴进去  

// Images打包压缩代码
gulp.task('images', function() {
    return gulp.src('image/*')
        .pipe(cache(imagemin({
            optimizationLevel: 3,
            progressive: true,
            interlaced: true
        })))
        .pipe(gulp.dest('dest/image'))
        .pipe(notify({
            message: 'Images task complete'
        }));
});

gulp.task('clean', function(cb) {
    del(['dist/'], cb)
});

然后运行gulp images就完成img打包完成。

  var uglify = require("gulp-uglify");

gulp.task("js",function(){
   gulp.src(["js/*.js"])//压缩之前的路径
      .pipe(uglify())
      .pipe(gulp.dest("dest/js"))压缩之后的路径
})

然后运行gulp js就完成js打包完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值