vlambda博客
学习文章列表

计算机技术|前端自动化构建工具Gulp.js

问题描述

gulp是一个自动化构建工具,主要用来设定程序自动处理静态资源的工作。简单的说,gulp就是用来打包项目的。

解决问题

1 安装

Nodejs 进入 http://nodejs.org/en 下载 12.15.0LTS 完成后双击安装。

计算机技术|前端自动化构建工具Gulp.js

计算机技术|前端自动化构建工具Gulp.js

图 1、2、3 安装

打开CMD检查是否正常。

计算机技术|前端自动化构建工具Gulp.js

图 4 检查

2 使用

创建根目录 my_project 并进入。

npx mkdirp my-project

cd my-project

在项目目录下创建 package.json 文件。

npm init

安装 gulp,作为开发时依赖项。

npm install --save-dev gulp

在项目的根目录下创建 gulpfile.js ,名字一定不能写错。并在文件里写入以下内容:

const gulp = require("gulp");

//定义任务

gulp.task("message",function (done) {

    console.log("gulp is running!!");

    done()

});

js

//定义默认任务

gulp.task("default",gulp.series(['message','copyHtml','scripts','sass','imageMin']));

在项目根目录下执行命令 gulp message ,命令gulp执行默认任务命令。

出现以下内容就运行成功了。

C:\Users\19145\my-project>gulp message

[14:34:39] Using gulpfile ~\my-project\gulpfile.js

[14:34:39] Starting 'message'...gulp is running!!

[14:34:39] Finished 'message' after 1.85 ms

 接下来介绍几个常用的插件

文件目录:

├── dist  //处理后的文件存放位置

├── node_modules

├── src //项目静态文件存放位置

├── gulpfile.js

└── package.json

(1) 拷贝文件

//拷贝文件

gulp.task("copyHtml" ,function(done){

    gulp.src("src/*.html").pipe(gulp.dest("dist"));

    done();

});

(2) 图片压缩

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

 

//图片压缩

gulp.task("imageMin",function (done) {

    gulp.src("src/image/*").pipe(imagemin()).pipe(gulp.dest("dist/images"));

    done();

});

 (3) 压缩JS

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

//压缩js

gulp.task("minify",function (done) {

    gulp.src("src/js/*.js").pipe(uglify()).pipe(gulp.dest("dist/js"));

    done()

 });

(4) sass 转换 css

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

 

// sass 转换 css

gulp.task("sass",function (done) {

    gulp.src("src/sass/*.scss").pipe(sass()).pipe(gulp.dest("dist/css"));

    done()

});

 (5) 代码合并

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

 

//代码合并

gulp.task("scripts",function (done) {

    gulp.src("src/js/*.js").pipe(concat("min.js")).pipe(uglify()).pipe(gulp.dest("dist/js"));

    done()

});

 (6) 监听文件

const gulp = require("gulp");

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


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

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

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


//监听文件gulp.task('watch',async()=> {

    gulp.watch("src/js/*.js",async()=>{ 

       gulp.src("src/js/*.js")

        .pipe(concat("min.js"))

        .pipe(uglify())

        .pipe(gulp.dest("dist/js"));

        }); 

   gulp.watch("src/image/*",async()=>{

        gulp.src("src/image/*")

        .pipe(imagemin())

        .pipe(gulp.dest("dist/images"));

        });

    gulp.watch("src/sass/*.sass",async()=>{

        gulp.src("src/sass/*.scss")

        .pipe(sass())

        .pipe(gulp.dest("dist/css"));

        });

    gulp.watch("src/*.html",async()=>{

        gulp.src("src/*.html")

        .pipe(gulp.dest("dist"));

        });

});

 




END


实习编辑   |   王文星

责       编   |   刘玉江


 where2go 团队


   

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!