gulp使用


  • Gulp就是一种可以自动化完成我们开发过程中大量的重复工作,是自动化项目构建工具
    • 预处理语言的编译
    • js css html 压缩混淆
    • 图片体积优化
  • 除gulp之外还有一些类似的自动化工具,比如grunt

gulp中文网:http://www.gulpjs.com.cn/
gulp插件网:http://gulpjs.com/plugins/

安装

  • 创建项目文件夹
  • 在项目文件夹中创建src文件夹(源文件夹A)、dist文件夹(目标文件夹B)
  • 打开命令黑窗口切换到项目文件夹
  • 全局安装gulp
npm install gulp -g         全局安装gulp
gulp -v                     测试是否安装成功 
  • 初始化 gulp 项目
npm init                    初始化 gulp 项目生成package.json文件
  • 安装需要的gulp插件(比如将less文件转换为css文件用“gulp-less”)
npm install gulp --save-dev         作为项目开发依赖"devDependencies"安装gulp
npm install gulp-less --save-dev    安装less插件

在package.json文件中最下面几行开发依赖(devDependencies)多个gulp和gulp-less。

使用

  • 项目根目录新建 gulpfile.js 文件 (gulpfile.js 就是gulp的主文件,文件名固定,用于注册任务)gulpfile.js 文件与src文件夹、dist文件夹并排。
    这里写图片描述
  • 注意
    • 在写任务时,每个任务一定要以分号结束,否则出错
    • 写less文件时,@符号语句下面要空一行,否则出错 。

以下是gulpfile.js文件:

'use strict';

// 载入Gulp模块
var gulp = require('gulp');   // 载入Gulp模块
var less = require('gulp-less');    // 载入gulp-less模块

// 注册一个任务
gulp.task('copy',function(){  // 复制任务
  gulp.src('src/index.html')  //找到源文件
  .pipe(gulp.dest('dist/'));  //备份到dist文件夹下面
});

gulp.task('dist',function(){    //所有监视都在目标文件dist中进行
  gulp.watch('src/index.html',['copy']) //监视src/index.html文件一旦有变动,就执行copy任务
  gulp.watch('src/style/*.less',['less']) //监视src/style/*.less文件,一但变动就执行less任务
});

gulp.task('less',function(){    //转换less文件
  gulp.src('src/style/*.less')   //找到源文件,style下的所有less文件
    .pipe(less()) 
    .pipe(gulp.dest('dist/css'));
});
  • 命令行下运行
gulp copy   //gulp + 要运行任务的名字,任务名字是task里的第一个参数。
gulp less   //转换less文件为css文件
gulp dist   //监视

当你修改 src文件夹下的任何文件,命令行都会有内容输出,说明能够监控到文件的变化,运作正常了。

常用插件

  • gulp是轻内核的工具,如果想自动化编译less等,得用插件
  • 直接到官网去搜插件,然后安装使用,和使用gulp-less一样,官网也有详细文档

gulp官网插件:http://gulpjs.com/plugins/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 `gulp-useref` 并过滤指定 js 文件的示例: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 过滤掉不需要处理的 js 文件 .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-useref` 来处理 HTML 文件,并将注释块中引用的 JS、CSS 文件合并到一个或多个文件中。同时,我们通过 `searchPath` 属性指定了搜索路径,这样 `gulp-useref` 就能够正确地解析 HTML 文件中的相对路径了。 接着,我们通过 `pipe` 方法将处理后的文件输出到 `dist` 目录中。在这个过程中,我们也可以使用 `gulp-if` 来过滤掉不需要处理的文件。例如,如果我们只想处理所有 `src` 目录下的 JS 文件,可以这样写: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); const gulpIf = require('gulp-if'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 只处理 src 目录下的 js 文件 .pipe(gulpIf('**/*.js', gulp.dest('dist'))) .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-if` 来过滤掉不需要处理的 JS 文件,而只处理 `src` 目录下的 JS 文件。这样,我们就能够只处理我们需要的文件了。 希望这个回答能够帮到你,如果你还有其他问题,可以继续问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值