我的编程空间,编程开发者的网络收藏夹
学习永远不晚

前端的轻量打包工具gulp如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

前端的轻量打包工具gulp如何使用

今天小编给大家分享一下前端的轻量打包工具gulp如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一. 安装Node和gulp

gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。

在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”。

安装node: 由于gulp是基于node实现的,所以要先安装node

node安装

安装gulp

 npm install -g gulp

 安装

 gulp -v

查看版本

二.使用gulp压缩Js

压缩js文件可以降低js文件的大小,提高页面打开速度。

2.1 方法

  • 找到要压缩的所有的js文件,压缩它们,将压缩后的文件放在 dist/js/目录下

2.2 步骤

创建gulp-demo文件夹,使用npm初始化项目

 npm init

在项目根目录新建一个gulpfile.js文件

  • gulp所有的配置都在这个文件里面

前端的轻量打包工具gulp如何使用

在gulpfile文件中书写压缩js文件的代码,安装gulp 和 gulp-uglify压缩模块

 //获取gulp对象 const gulp = require("gulp") // 压缩js文件的对象,使用之前需要安装 // 安装方法:npm i gulp-uglify -D const uglify = require("gulp-uglify") // 定义压缩文件的处理方法 function script(){     //1. 匹配要所有压缩的js文件     gulp.class="lazy" data-src('js/*.js')     //2. 压缩文件    .pipe(uglify())     //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/js')) } //将定义好的压缩方法暴露给外界 exports.script = gulp.series(script);
 npm i gulp gulp-uglify -D

在项目根目录创建js文件夹并且创建需要测试的js文件

前端的轻量打包工具gulp如何使用

在命令行输入如下命令运行

  • 由于我们导入的为 script,所以这里输入gulp script命令即可

 gulp script
  • 压缩后的目录如下所示

前端的轻量打包工具gulp如何使用

升级压缩功能,每次文件修改之后,自动压缩打包

 //获取gulp对象 const gulp = require("gulp") // 压缩js文件的对象,使用之前需要安装 // 安装方法:npm i gulp-uglify -D const uglify = require("gulp-uglify") // 定义压缩文件的处理方法 function script(){     //1. 匹配要所有压缩的js文件     gulp.class="lazy" data-src('js/*.js')     //2. 压缩文件    .pipe(uglify())     //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/js')) } //创建监听js文件的方法 function autoScript(){     // 创建监听对象     var watcher = gulp.watch("js/*.js");     //分别监听 change,add,unlink事件     watcher.on("change",function(path,stats){         console.log(`${path} has been changed!`);    });     watcher.on("add",function(path,stats){         console.log(`${path} has been add!`);    });     watcher.on("unlink",function(path,stats){         console.log(`${path} has been unlink!`);    }) } //将定义好的压缩方法暴露给外界,并作为gulp的默认值 // exports.script = gulp.series(script,autoScript); exports.autoScript = gulp.parallel(script,autoScript);
  • 运行

 gulp autoScript

使用 exports.default 定义默认任务

 //如上所示,我们使用 export script 和 export autoScript命令执行任务 //可以通过 exports.default 关键字指定默认任务 exports.default = gulp.parallel(script,autoScript);
  • 设置完成之后,在命令行输入 gulp即可启动任务

 gulp
  • 完整项目目录:gulp-demo(压缩js)

  • 注意:所有的项目,下载之后先在项目根目录要运行 npm i命令安装模块

三. 压缩CSS文件

CSS文件压缩过程类似于Js文件,这里做简单介绍

3.1 步骤

创建gulpfile.js文件

安装压缩CSS文件需要用到的模块

 npm i gulp gulp-minify-css -D

在项目根目录创建CSS文件夹,在CSS文件夹下面创建要测试的CSS文件

编写压缩代码,到处任务调用

 //获取gulp对象 const gulp = require("gulp") //获取压缩 css文件的方法 const minifyCss = require("gulp-minify-css") // 定义压缩文件的处理方法 function css(){    //1. 匹配要所有压缩的css文件    gulp.class="lazy" data-src('css/*.css')    //2. 压缩文件    .pipe(minifyCss())    //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/css')) } //升级:自动监听文件的改变, //创建监听js文件的方法 function autoCss(){    // 创建监听对象    var watcher = gulp.watch("css/*.css");    //分别监听 change,add,unlink事件    watcher.on("change",function(path,stats){        console.log(`${path} has been changed!`);    });    watcher.on("add",function(path,stats){        console.log(`${path} has been add!`);    });    watcher.on("unlink",function(path,stats){        console.log(`${path} has been unlink!`);    }) } //将定义好的压缩方法暴露给外界,并作为gulp的默认值 // exports.default = gulp.series(css,autoCss); exports.autoCss = gulp.parallel(css,autoCss);

运行文件

 gulp autoCss
  • 完整项目目录:gulp-demo(压缩CSS)

  • 注意:所有的项目,下载之后先在项目根目录要运行 npm i命令安装模块

四. 压缩图片

方法同上压缩js 和CSS文件,以下给出压缩图片的依赖模块,以及示例代码

依赖模块: gulp ,gulp-imagemin

代码示例:

 //获取gulp对象 const gulp = require("gulp") //获取压缩 图片文件的对象 const imagemin = require("gulp-imagemin") // 定义压缩文件的处理方法 function images(){     //1. 匹配要所有压缩的图片文件     gulp.class="lazy" data-src('imgs/*.*')     //2. 压缩文件    .pipe(imagemin({         progressive: true    }))     //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/imgs')) } //升级:自动监听文件的改变, //创建监听图片文件的方法 function autoImages(){     // 创建监听对象     var watcher = gulp.watch("imgs/*.*");     //分别监听 change,add,unlink事件     watcher.on("change",function(path,stats){         console.log(`${path} has been changed!`);    });     watcher.on("add",function(path,stats){         console.log(`${path} has been add!`);    });     watcher.on("unlink",function(path,stats){         console.log(`${path} has been unlink!`);    }) } //将定义好的压缩方法暴露给外界,并作为gulp的默认值 // exports.images = gulp.series(images,autoImages); exports.autoImages = gulp.parallel(images,autoImages);
  • 完整项目目录:gulp-demo(压缩图片)

  • 注意:所有的项目,下载之后先在项目根目录要运行 npm i命令安装模块

五. 编译Less文件

模块: gulp,gulp-less

示例:

 //获取gulp对象 const gulp = require("gulp") //获取压缩 less文件的对象 const gulpLess = require("gulp-less") // 定义压缩文件的处理方法 function less(){     //1. 匹配要所有压缩的less文件     gulp.class="lazy" data-src('less/*.less')     //2. 压缩文件    .pipe(gulpLess())     //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/less')) } //升级:自动监听文件的改变, //创建监听less文件的方法 function autoLess(){     // 创建监听对象     var watcher = gulp.watch("less/*.less");     //分别监听 change,add,unlink事件     watcher.on("change",function(path,stats){         console.log(`${path} has been changed!`);    });     watcher.on("add",function(path,stats){         console.log(`${path} has been add!`);    });     watcher.on("unlink",function(path,stats){         console.log(`${path} has been unlink!`);    }) } //将定义好的压缩方法暴露给外界,并作为gulp的默认值 // exports.images = gulp.series(less,autoLess); exports.autoLess = gulp.parallel(less,autoLess);
  • 完整项目目录:gulp-demo(编译less)

  • 注意:所有的项目,下载之后先在项目根目录要运行 npm i命令安装模块

六. 编译Sass文件

模块: gulp,gulp-sass

示例:

 //获取gulp对象 const gulp = require("gulp") //获取压缩 sass文件的对象 const gulpSass = require("gulp-sass") // 定义压缩文件的处理方法 function sass(){     //1. 匹配要所有压缩的sass文件     gulp.class="lazy" data-src('sass/*.scss')     //2. 压缩文件    .pipe(gulpSass())     //3. 将压缩后的文件写入指定目录    .pipe(gulp.dest('dist/sass')) } //升级:自动监听文件的改变, //创建监听sass文件的方法 function autoSass(){     // 创建监听对象     var watcher = gulp.watch("sass/*.scss");     //分别监听 change,add,unlink事件     watcher.on("change",function(path,stats){         console.log(`${path} has been changed!`);    });     watcher.on("add",function(path,stats){         console.log(`${path} has been add!`);    });     watcher.on("unlink",function(path,stats){         console.log(`${path} has been unlink!`);    });     watcher.on("error",function(error){         console.log(error);    }) } //将定义好的压缩方法暴露给外界,并作为gulp的默认值 // exports.images = gulp.series(images,autoImages); exports.autoSass = gulp.parallel(sass,autoSass);

完整项目目录:gulp-demo(编译sass)

注意:所有的项目,下载之后先在项目根目录要运行 npm i命令安装模块

以上就是“前端的轻量打包工具gulp如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

前端的轻量打包工具gulp如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

前端的轻量打包工具gulp如何使用

今天小编给大家分享一下前端的轻量打包工具gulp如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一. 安装Node和g
2023-07-04

前端必会的轻量打包工具gulp使用详解

这篇文章主要为大家介绍了前端必会的轻量打包工具gulp使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

2021年前端应该使用什么打包构建工具

不知不觉时间已经来到了2021年,如果是在前几年,你问我应该用什么打包工具,那么我会毫不犹豫地推荐你使用webpack,因为那个时候webpack非常成熟,有着非常丰富的插件,可以高效地进行个性化定制。
前端工具Web2024-12-03

Linux下如何使用tarball打包工具

这篇文章主要介绍了Linux下如何使用tarball打包工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。tarball是linux下最方便的打包工具,是以tar这个指令来打
2023-06-27

Qt如何使用windeployqt工具实现程序打包发布

这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex
2023-06-25

如何使用Python的SAML工具包 python-saml

本篇文章为大家展示了如何使用Python的SAML工具包 python-saml,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python-saml 是 Python 的 SAML 工具包。示例代码
2023-06-02

node.js的NPM包管理工具如何使用

这篇文章主要介绍“node.js的NPM包管理工具如何使用”,在日常操作中,相信很多人在node.js的NPM包管理工具如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js的NPM包管理工具如
2022-12-05

SUSE系统中如何使用压缩和解压工具打包文件

在SUSE系统中,可以使用压缩和解压工具来打包文件。常用的压缩和解压工具有gzip、bzip2和tar。以下是在SUSE系统中使用这些工具的示例:使用gzip来压缩文件:gzip filename该命令将文件filename进行压缩,并生成
SUSE系统中如何使用压缩和解压工具打包文件
2024-03-13

如何检查前端项目中未使用的依赖包?

Depcheck 是一款用于分析项目中依赖关系的工具,它可以帮助我们找出以下问题:在 package.json 中,每个依赖包如何被使用、哪些依赖包没有用处、哪些依赖包缺失。它是解决前端项目中依赖包清理问题的一个常用工具。

npm安装的全局包/工具不能使用如何解决

本文小编为大家详细介绍“npm安装的全局包/工具不能使用如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“npm安装的全局包/工具不能使用如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。事情经过今天通
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录