NodeJS中安装第三方模块`Gulp`以及它的使用

NodeJS中安装第三方模块 Gulp以及它的使用

  • 基于node平台开发的前端构建工具

  • 将机械化操作编写成任务,想要执行机械化操作时执行一个命令行命令任务就能自动执行了

  • 用机器代替手工,提高开发效率。

Gulp能够做什么

  • 项目上线,HTML,CSS、JS文件压缩合并

  • 语法转换(es6,less...)

  • 公共文件抽离

  • 修改文件浏览器自动刷新

Gulp的使用

使用npm install gulp 下载gulp库文件

在项目根目录下建立gulpfile.js文件

重构项目的文件夹结构src目录放置源代码文件dist目录放置构建后文件

在gulpfile.js文件中编写任务.

Gulp中提供的方法
  • gulp.src(): 获取任务要处理的文件
  • gulp.dest(): 输出文件
  • gulp.task(): 建立gulp任务
  • gulp.watch: 监控文件的变化

// 引用gulp模块
const gulp = require('gulp');
// 使用gulp.task建立任务
// 1. 任务的名称
// 2. 任务的回调函数
gulp.task('first', () =>{
    console.log('人生中的第一个gulp任务执行了!');
    gulp.src('./src/css/base.css')
        .pipe(gulp.dest('dist/css'))
})

要运行gulp任务还需要下载一个gulp给我们提供的命令行工具偶!

npm i gulp-cli -g

在命令行工具中执行gulp任务

gulp 你要执行的任务名称

gulp first

出现报错信息

原因:

这是 gulp4.0 版本使用 task 时,回调函数使用匿名函数带来的问题,gulpgulp 不再支持同步任务

解决方案有很多具体参考 https://www.gulpjs.com.cn/docs/getting-started/async-completion/

比较简单的方法就是 添加 callback,来指示函数完成

即代码修改为:

// 引用gulp模块
const gulp = require('gulp');
// 使用gulp.task建立任务
// 1. 任务的名称
// 2. 任务的回调函数
gulp.task('first', (cb) =>{
    console.log('人生中的第一个gulp任务执行了!');
    gulp.src('./src/css/base.css')
        .pipe(gulp.dest('dist/css'))
    cb();
})

😄

Gulp插件

gulp-htmlmin:html文件压缩

gulp-less:less语法转化, gulp-csso:压缩css

先下载模块npm i gulp-less

dest: gulp-less

// 引用gulp模块
const gulp = require('gulp');
const less = require('gulp-less');

// css任务
// 1、less语法转换
// 2、css代码压缩
gulp.task('cssmission', (cb) => {
    gulp.src('./src/css/*.less')
        .pipe(less())
        .pipe(gulp.dest('dist/css'))
    cb();
})

怎样同时选中css文件和less文件呢?!

// css任务
// 1、less语法转换
// 2、css代码压缩
gulp.task('cssmission', (cb) => {
    gulp.src(['./src/css/*.less', './src/css/*.css'])
        .pipe(less())
        .pipe(gulp.dest('dist/css'))
    cb();
})

下载csso的下载模块:

dest: gulp-csso

npm i gulp-csso

// 引用gulp模块
const gulp = require('gulp');
const less = require('gulp-less');
const csso = require('gulp-csso');

// css任务
// 1、less语法转换
// 2、css代码压缩
gulp.task('cssmission', (cb) => {
    gulp.src(['./src/css/*.less', './src/css/*.css'])
        .pipe(less())
        .pipe(csso())
        .pipe(gulp.dest('dist/css'))
    cb();
})

可以看到,已完成压缩!

gulp-uglify:压缩混淆JavaScript, gulp-babel:JavaScript语法转化

gulp-file-include:公共文件包含

browsersync:浏览器实时同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lvhanghmm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值