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

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

问题描述

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

解决问题

1 安装

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

图 1、2、3 安装

打开CMD检查是否正常。

图 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"));

        });

});

 


目录
相关文章
|
5月前
|
JavaScript 前端开发 IDE
TypeScript vs. JavaScript:技术对比与核心差异解析
TypeScript 作为 JavaScript 的超集,通过静态类型系统、编译时错误检测和强大的工具链支持,显著提升代码质量与可维护性,尤其适用于中大型项目和团队协作。相较之下,JavaScript 更灵活,适合快速原型开发。本文从类型系统、错误检测、工具支持等多维度对比两者差异,并提供技术选型建议,助力开发者合理选择。
1070 1
|
5月前
|
监控 JavaScript 前端开发
JavaScript加密与解密技术:Hook技术应用案例分析
以上案例展示了如何利用JavaScript Hook技术结合强大且广泛采纳标准化算法(如AES),无缝地集成进Web应用程序以增强通信安全性。此种方法不仅能够确保敏感信息得到有效保护,并且由于它们操作适度透明、无需重构已存在代码基础架构而具备较高实际可行性及易操作性。
265 11
|
10月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
594 70
|
10月前
|
JavaScript 前端开发 API
|
9月前
|
监控 算法 JavaScript
基于 JavaScript 图算法的局域网网络访问控制模型构建及局域网禁止上网软件的技术实现路径研究
本文探讨局域网网络访问控制软件的技术框架,将其核心功能映射为图论模型,通过节点与边表示终端设备及访问关系。以JavaScript实现DFS算法,模拟访问权限判断,优化动态策略更新与多层级访问控制。结合流量监控数据,提升网络安全响应能力,为企业自主研发提供理论支持,推动智能化演进,助力数字化管理。
222 4
|
10月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
387 8
|
10月前
|
JavaScript 前端开发 容器
|
10月前
|
JavaScript 前端开发
|
10月前
|
存储 JavaScript 前端开发
|
10月前
|
移动开发 JavaScript 前端开发

热门文章

最新文章