JS中使用gulp实现压缩文件及浏览器热加载功能

发布时间 - 2026-01-11 02:17:51    点击率:

gulp类似于grunt,都是基于Node.js的前端构建工具。不过gulp压缩效率更高。

一.安装gulp

  首先,你要安装过nodejs,如果没有安装过的同学请自行下载。  先再命令行里输入   npm install gulp -g   下载gulp

二.创建gulp项目

  创建一个你需要项目文件夹,然后在根目录输入  npm init  (npm init命令会为你创建一个package.json文件,这个文件保存着这个项目相关信息。比如你用到的各种依赖)

三.使用npm install 安装各种依赖

  例:

npm install browser-sync--save-dev

  这里总共用到了这些依赖,请自行下载   具体各自都有什么用 后面会具体介绍。

四.编写gulpfile.js

  首先,声明这些依赖

  然后我们就要开始最重要的工作了,配置这些依赖

  1.配置压缩css

 

  2.配置压缩js

  3.配置压缩img

  4.配置html,这里没有进行压缩,感觉没有压缩的必要 (纯属见仁见智)

  5.配置清楚文件,因为每次打包都会生成新文件  所以在这之前要把之前的文件给清除掉

  6.配置浏览器热加载

  7.配置打包  

  这里的runSequence是指能同时执行多个命令

  8.设置gulp启动时执行哪些配置

  最后放上全部代码 供大家参考

var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var minifyCSS = require('gulp-minify-css');
var cache = require('gulp-cache');
var del = require('del');
var runSequence = require('run-sequence');
var minifyHtml= require("gulp-minify-html");
gulp.task('sass', function(){  //打包sass
 return gulp.src('app/scss/**/*.scss')
  .pipe(sass()) // Converts Sass to CSS with gulp-sass
  .pipe(gulp.dest('app/css'))
  .pipe(browserSync.reload({
   stream: true
  }))
});
gulp.task('js',function() {
  gulp.src('app/**/*.js')
  .pipe(uglify())//压缩
  .pipe(gulp.dest('dist'));
});
gulp.task('css', function () {
  gulp.src('app/css/*.css')
  .pipe(minifyCSS())
  .pipe(gulp.dest('dist/css'))
})
gulp.task('minify-html',function() {
   gulp.src('app/**/*.html')//要压缩的html文件
   .pipe(gulp.dest('dist'));
});
gulp.task('images', function(){
 return gulp.src('app/images/**/*.+(png|jpg|jpeg|gif|svg)')
 // Caching images that ran through imagemin
 .pipe(cache(imagemin({
   interlaced: true
  })))
 .pipe(gulp.dest('dist/images'))
});
gulp.task('clean', function(callback) {
 del('dist');
 return cache.clearAll(callback);
});
gulp.task('watch',['browserSync', 'sass'],function(){  //我们可以在watch任务之前告知Gulp,先把browserSync和Sass任务执行了再说。
 gulp.watch('app/scss/**/*.scss', ['sass']);
 gulp.watch('app/*.html', browserSync.reload);
 gulp.watch('app/js/**/*.js', browserSync.reload);
 // Other watchers
});
gulp.task('browserSync', function() { //浏览器热加载
 browserSync({
  server: {
   baseDir: 'app'
  },
 })
});
gulp.task('build', function (callback) {
 runSequence('clean',['minify-html','js','images','css'],callback)
});
gulp.task('default', function (callback) {
 runSequence(['sass','browserSync', 'watch'],
  callback
 )
});

以上所述是小编给大家介绍的JS中使用gulp实现压缩文件及浏览器热加载功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# gulp压缩文件  # js浏览器热加载  # Selenium 模拟浏览器动态加载页面的实现方法  # 让浏览器非阻塞加载javascript的几种方法小结  # 超级实用的几款浏览器插件  # 打开丰富资源大门  # 网页资源阻塞浏览器加载的原理示例解析  # 加载  # 创建一个  # 小编  # 都是  # 都有  # 多个  # 你要  # 在这  # 在此  # 请自行  # 见仁见智  # 是指  # 为你  # 最重要  # 我们可以  # 要把  # 更高  # 给大家  # 如果没有  # 相关信息 


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


相关推荐: EditPlus中的正则表达式 实战(2)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  C++时间戳转换成日期时间的步骤和示例代码  如何快速生成高效建站系统源代码?  如何在建站之星网店版论坛获取技术支持?  Laravel如何使用Telescope进行调试?(安装和使用教程)  制作公司内部网站有哪些,内网如何建网站?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何在阿里云通过域名搭建网站?  如何在万网开始建站?分步指南解析  js代码实现下拉菜单【推荐】  JavaScript Ajax实现异步通信  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何在宝塔面板创建新站点?  Mybatis 中的insertOrUpdate操作  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何在景安云服务器上绑定域名并配置虚拟主机?  JavaScript如何实现错误处理_try...catch如何捕获异常?  html如何与html链接_实现多个HTML页面互相链接【互相】  EditPlus中的正则表达式实战(6)  简单实现jsp分页  Laravel如何配置和使用缓存?(Redis代码示例)  大连网站制作公司哪家好一点,大连买房网站哪个好?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何在Windows 2008云服务器安全搭建网站?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  如何在服务器上三步完成建站并提升流量?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  b2c电商网站制作流程,b2c水平综合的电商平台?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何用PHP工具快速搭建高效网站?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】