自动化构建工具Gulp基础使用指南

Gulp说明:

Gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器,基于node.js,它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。我们在编写的过程中通常都是团队协作,这里我们就可以通过Gulp提交代码,实现代码的统一。

Gulp安装:

1. 进入项目所在目录,使用npm安装gulp-cli脚手架工具(脚手架设置全局安装,方便其他项目使用)

安装完成后,可通过gulp -v查看gulp版本信息

2. 安装gulp到项目中(-s表示写入到dependencies)

此时项目目录中自动加了package-lock.json文件

默认只添加了package-lock.json文件,没有package.json文件

需手动执行npm init,并输入相关设置创建package.json文件

package.json文件中内容如下:

 1 {
 2   "name": "gulp-demo",
 3   "version": "1.0.0",
 4   "description": "gulp-demo",
 5   "main": "index.js",
 6   "dependencies": {
 7     "gulp": "^4.0.2"
 8   },
 9   "devDependencies": {},
10   "scripts": {
11     "test": "echo \"Error: no test specified\" && exit 1"
12   },
13   "author": "",
14   "license": "ISC"
15 }

3. 按需安装需要使用的插件

常用插件有如下:

  • gulp-clean:用于清理;
  • gulp-notify:用于打印消息文本;
  • gulp-rename:用于修改名字;
  • gulp-concat:用于合并文件;
  • gulp-zip:用于生成一个zip压缩包;
  • gulp-minify-css:用于压缩css;
  • gulp-autoprefixer:用于给css添加前缀;
  • gulp-imagemin:用于给图片进行优化;
  • gulp-uglify:用于压缩js;
  • amd-optimize:用于amd模块引用编译;
  • gulp-import-css:如果css文件是通过import导入的可以使用此插件进行合并优化;
  • gulp-rev-replace:用于替换;
  • gulp-useref:引入使用build标记,进行替换;
  • gulp-rev:生成md5文件名;
  • gulp-filter:对文件进行过滤;
  • gulp-header:压缩之后将注释写入到文件的头部
  • gulp-if:进行逻辑判断
  • gulp-size:获取文件大小
  • gulp-less:编译less文件
  • gulp-sass:编译sass文件
  • gulp-file-include:对文件进行引入
  • gulp-sourcemaps:生成map文件
  • gulp-livereload:自动刷新
  • gulp-clean-css:css压缩
  • browserSync:启动server并启动热更新
  • gulp-plumber : 监测工作流,报错,防止遇到错误时直接退出gulp
  • gulp-rev : 文件名添加版本号
  • gulp-css-spritesmith:根据css文件自动生成雪碧图

如果要查找gulp插件,一般有两个地方:

安装完所需插件后(-s 安装),package.json 文件内容自动改变

 1 {
 2   "name": "gulp-demo",
 3   "version": "1.0.0",
 4   "description": "gulp-demo",
 5   "main": "index.js",
 6   "dependencies": {
 7     "gulp": "^4.0.2",
 8     "gulp-clean-css": "^4.2.0",
 9     "gulp-concat": "^2.6.1",
10     "gulp-notify": "^3.2.0",
11     "gulp-rename": "^1.4.0",
12     "gulp-uglify": "^3.0.2"
13   },
14   "devDependencies": {},
15   "scripts": {
16     "test": "echo \"Error: no test specified\" && exit 1"
17   },
18   "author": "",
19   "license": "ISC"
20 }

配置文件:

创建 gulpfile 文件,并写入相关配置

 1 var gulp = require(‘gulp‘),                 // gulp基础库
 2     notify = require(‘gulp-notify‘),        // 提示
 3     concat = require(‘gulp-concat‘),        // 合并文件
 4     rename = require(‘gulp-rename‘),        // 文件重命名
 5     uglify = require(‘gulp-uglify‘),        // js压缩
 6     cleancss = require(‘gulp-clean-css‘)    // css压缩
 7
 8
 9 // css处理
10 gulp.task(‘minifycss‘, function () {
11     return gulp
12         .src([
13             ‘./css/style-1.css‘,
14             ‘./css/style-2.css‘
15         ])
16         .pipe(concat(‘all.css‘)) //合并css文件到"all.css"
17         .pipe(gulp.dest(‘./dist‘)) //设置输出路径
18         .pipe(rename({ suffix: ‘.min‘ })) //修改文件名
19         .pipe(cleancss()) //压缩文件
20         .pipe(gulp.dest(‘./dist‘)) //输出文件目录
21         .pipe(notify({ message: ‘minifycss task ok‘ })) //提示成功
22 })
23
24 // js处理
25 gulp.task(‘minifyjs‘, function () {
26     return gulp
27         .src([
28             ‘./js/javascript-1.js‘,
29             ‘./js/javascript-2.js‘
30         ]) //选择合并的JS
31         .pipe(concat(‘all.js‘)) //合并js
32         .pipe(gulp.dest(‘./dist‘)) //输出
33         .pipe(rename({ suffix: ‘.min‘ })) //重命名
34         .pipe(uglify()) //压缩
35         .pipe(gulp.dest(‘./dist‘)) //输出
36         .pipe(notify({ message: ‘minifyjs task ok‘ })) //提示
37 })
38
39
40 // 先创建Task,后使用
41 gulp.task(‘default‘,
42     gulp.series(gulp.parallel(
43         ‘minifycss‘,
44         ‘minifyjs‘
45         )
46     )
47 )

gulpfile.js

执行Task:

执行 gulp,进行自动化构建

执行成功输入提示信息,

并将构建后的文件生成到指定目录

测试效果:

测试构建后的文件

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4     <title>Gulp Demo</title>
 5     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 6     <link href="./dist/all.min.css" type="text/css" rel="stylesheet" />
 7     <script src="./dist/all.min.js" type="text/javascript"></script>
 8 </head>
 9 <body>
10     <div class="div-1"
11          onclick="clickDiv1();">
12         Div 1
13     </div>
14     <div class="div-2"
15          onclick="clickDiv2();">
16         Div 2
17     </div>
18 </body>
19 </html>

效果与引用原文件(css,js)一致,perfect.  ( ̄▽ ̄)~*

参考链接:https://www.jianshu.com/p/34c67fe7ac99

原文地址:https://www.cnblogs.com/baitao/p/11640594.html

时间: 2024-10-29 12:57:22

自动化构建工具Gulp基础使用指南的相关文章

web 环境搭建00前端自动化构建工具(gulp)

web 环境搭建----前端自动化构建工具(gulp): 1----先下载安装node.js 2----然后在node.js命令行安装:npm install gulp -g (全局下载安装gulp插件) 3----然后进入到项目文件夹(命令cd 文件夹名),在项目文件夹中安装依赖文件:npm install gulp --save-dev (根据依赖文件下载gulp插件) 4----在项目文件夹目录下初始化:npm init (初始化文件) {初始化文件后项目中会出现packgae.json文

前端自动化构建工具——gulp

gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到某一工程目录下 跟grunt一般,也是需要package.json包依赖文件和一个入口文件 gulpfile.js(其他名字识别不了) 然后就类似的先装上gulp npm install gulp --save-dev 最基本的使用方式是这样:(使用jshint插件校验js代码) var jshin

自动化构建工具----gulp

gulp是什么? Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境). gulp基于流的操作. 常见构建工具:Grunt,gulp,webpack,FIS.. gulp有什么用? 网页自动刷新,CSS预处理,代码检测,图片压缩等功能,只需要简单的命令行就可以全部完成.使用它, 可以简化工作,让你把重点放在功能的开发上,同时减少人为失误,提高开发的效率和质量. gulp怎么用? .以[email protected]为例 1.初始化npm npm i

前端自动化构建工具gulp记录

什么是gulp 答:Gulp 是一款基于任务的设计模式的自动化工具,通过插件的配合解决全套前端解决方案,如静态页面压缩.图片压缩.JS合并.SASS同步编译并压缩CSS.服务器控制客户端同步刷新.. 为什么要用gulp? 1.js和css属于静态文件,很多时候浏览器存在缓存机制,为了避免缓存带来的误会,可以利用构建工具,给每一个静态文件添加一个版本号,这样浏览器就会认为是新的文件,就不存在缓存机制. 2.性能优化:文件合并,减少http请求:文件压缩,减少文件体积,加快下载速度: 3.效率提升:

自动化构建工具gulp简单介绍及使用

一.简介及安装: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率 gulp的优点:基于流的操作.任务化. 常用api:src .dest.watch.task.pipe 由于gulp是基于node的所以使用的时候需要通过npm或者cnpm安装全局安装(cnpm i -g gulp) 常用的gulp需要安装的包括gulp-cl

自动化构建工具gulp

1.优点 1.1 易于使用 通过代码优于配置的策略,gulp让简单的任务简单,复杂的任务可管理 1.2 构建快速 利用node.js流的威力,你可以快速构建项目并减少频繁的IO操作 1.3 插件高质 gulp严格的插件指南确保插件如你期望的那样简洁高质的工作 1.4 易于学习 通过最少的API,掌握gulp毫不费力,构建工作尽在掌握:如同一系列流管道 2.gulp使用说明 2.1 安装 在工程根目录下进入cmd 初始化npm,在项目根目录下新建package.json文件 npm init 全局

前端自动化构建工具gulp使用

1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev gulp 3. 在项目根目录下创建一个名为 package.json 的文件: 附上本人项目基本配置 { "devDependencies": { "concat": "0.0.1-security", "gulp": "

自动化构建工具—gulp的用法简单总结

把之前用到的gulp总结整理下,有时候说不出来的,就写出来吧,做个笔记,以后也可以慢慢补充 cnpm i --save-dev gulp 把nodejs模块写到package.json配置文件中,当保存到git仓库时,只需保存package.json即可 用到的gulp模块有:gulp-clean/gulp-concat/gulp-connect/gulp-cssmin/gulp-less/gulp-load-plugins/gulp-uglify/open 注:安装node模块是可批量安装的 

前端自动化构建工具gulp(二)

创建一个真实的例子: 创建一个项目,结构如图 gulp的使用方法通常是这样的 gulp.task('task-name', function () { return gulp.src('source-files') // source-files是任务的入口文件路径 .pipe(aGulpPlugin()) // 调用插件 .pipe(gulp.dest('destination')) //destination执行任务输出文件路径 }) 我们将使用gulp-sass插件来编译sass: 1.安