gulp 前端自动化工具

时间:2022-08-28 07:26:20

一开篇

在前端开发的过程中,我们经常会碰到压缩、合并、图片script 等,于是就有了gulp 前端自动化构建工具,它能帮你在前端开发中,节省时间。

1,安装 node.js

因为gulp 构建工具是基于node环境的,那么什么是 node.js呢,下面是官方的解释Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

用自己的话,node.js 就是一个运行js的环境,谷歌浏览器就是 V8 引擎

百度搜索node.js ,进入中文官网下载,它会自动识别电脑系统,如果下载不了,请自行解决

然后打开cmd 命令行 执行

node -v

查看 node 是否安装成功

2,npm  包管理器

安装 node 后,默认就安装了 包管理器,但是在很久之前都是单独安装的 ,可见它的发展,这个在以后我们会经常用到

因为 墙的原因,我们需要将安装cnpm ,以后 使用npm的地方,都用cnpm来代替,感谢淘宝

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后 使用 npm -v 检查 npm 是否安装成功

cnpm -v 检查cnpm 是否安装成功

3,gulp 自动化构建工具

先来个官网地址:http://www.gulpjs.com.cn/

安装 gulp

cnpm install gulp -g

检查 gulp 是否安装成功, gulp -v

安装gulp成功后,我们使用 gulp 压缩、合并文件

(1) 创建一个文件夹

aaarticlea/png;base64,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" alt="" />

(2)package.json 文件

很多人看到这个文件就晕了,干什么的啊,我第一次看到这个也晕了,先不用管他,就是一个配置文件,打开cmd命令行,进入你创建的文件夹,下面我们使用 cnpm init 创建配置文件,一路回车,不用管它,现在看你新创建的文件夹下面是不是有一个 package.json 文件。

为了正常使用,我们要在本地安装gulp:

cnpm install gulp --save-dev

你会发现我安装了两次 gulp,全局安装是为了执行gulp任务,本地安装是为了调用gulp插件的功能

这个时候你会在 你新建的文件夹下,发现一个 node_modules 文件

(3)安装 插件

因为 gulp 本身是不含 压缩、合并等功能的,下面我们需要安装 gulp 插件

1.css压缩   gulp-minify-css

2.js压缩   gulp-uglify

3.js合并   gulp-concat  

由于压缩之前需要对js代码进行代码检测,压缩完成之后需要加上min的后缀,我们还需要安装另外两个插件:

4.重命名     gulp-rename

5.js代码检测  gulp-jshint (或gulp-jslint)

(更多插件可以查看 http://gulpjs.com/plugins/ )

在项目根目录下执行以下命令(安装上面需要的插件):

npm install gulp-minify-css gulp-uglify gulp-concat gulp-rename gulp-jshint --save-dev

安装好的插件会出现在上面提到的node_modules文件夹中。

(4)使用 gulp

现在可以使用gulp了,在项目根目录下创建 gulpfile.js ,这不就是js文件么?是的

var gulp = require('gulp'),
minifycss = require('gulp-minify-css'), // reqire 加载插件
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
jshint = require('gulp-jshint'); // 语法检查
gulp.task('jshint',function(){ // gulp.task方法用来定义任务,第一个参数是任务名,第二个是执行函数
return gulp.src('js/*.js') // 需要操作的文件
.pipe(jshint())
.pipe(jshint.reporter('default'));
}); // 压缩css
gulp.task('minifycss',function(){
return gulp.src('css/*.css')
.pipe(concat('all.css')) // 压缩后的文件名
.pipe(rename({suffix: '.min'})) // rename 压缩后的文件
.pipe(minifycss()) // 执行压缩
.pipe(gulp.dest('css')); // 用来写文件的,文件路径
}); // 压缩、合并js
gulp.task('minifyjs',function(){
return gulp.src('js/*.js')
.pipe(concat('main.js'))
.pipe(gulp.dest('js'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify()) // 压缩
.pipe(gulp.dest('js'));
}); // 在cmd中输入gulp,执行的就是这个任务,压缩js需要在检查js之后操作
gulp.task('default',['jshint'],function(){
gulp.start('minifycss','minifyjs');
});

你把上面的文件复制到 gulpfile.js 中,然后再cmd命令行,执行gulp

aaarticlea/png;base64,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" alt="" />

这个时候就执行完成了,你去css 和 js 文件中就能看到压缩的文件了

上面红线标出的 errors 是因为在压缩前,检查js语法,上面的提示就是js语法错误,这个提示有可能不准确,你还是去看一看吧。

参考文章:

gulp详细入门教程

gulp完成javascript压缩 合并

gulp教程之gulp API

gulp 自动化构建工具

gulp 入门教程

gulp 前端自动化工具的更多相关文章

  1. (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具

    https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...

  2. 前端自动化工具gulp自动添加版本号

    之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...

  3. 学习安装并配置前端自动化工具Gulp

    Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...

  4. Node.js前端自动化工具:gulp

    前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...

  5. gulp前端自动化工作流

    gulp前端自动化工作流 为什么要有自动化的流程? 在我们的开发过程中有大量的重复操作 DRY Don't repeat yourself 开发人员的精力应放在哪? 创造,新的一切前端开发的编译操作 ...

  6. gulp 前端构建工具入门

    gulp 前端构建工具入门 标签(空格分隔): gulp 1. 安装gulp npm i -g gulp 2. 创建gulp项目 2.1 Hello world 使用npm init初始化项目文件夹. ...

  7. gulp前端自动化入门

    一.从零开始搭建gulp前端自动化 1.首先安装nodejs 2.npm init 初始化 生成package.json 2.1 可以选装cnpm cnpm是淘宝提供的服务 安装:命令提示符执行npm ...

  8. gulp 前端构建工具使用

    gulp 前端构建工具使用 1.新建一个web  h5项目 2.准备好gulpfile.js文件 (1)下载链接:https://pan.baidu.com/s/116J-BaYOMRzeJW3i_J ...

  9. 前端自动化工具 -- Gulp 使用简介

    gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...

随机推荐

  1. JVM基本结构

    以下是JVM的一个基本架构图,在这个基本架构图中,栈有两部份,Java线程栈以及本地方法栈,栈的概念与C/C++程序基本上都是一个概念,里面存放的都是栈帧,一个栈帧代表的就是一个函数的调用,在栈帧里面 ...

  2. ORM查询语言(OQL)简介--高级篇:脱胎换骨

    相关文章内容索引: ORM查询语言(OQL)简介--概念篇 ORM查询语言(OQL)简介--实例篇 ORM查询语言(OQL)简介--高级篇:脱胎换骨 ORM查询语言(OQL)简介--高级篇(续):庐山 ...

  3. delegate事件绑定

    为了代码的健壮性,绑定事件之前先解绑再进行绑定. var _$div = $("#id");_$div.undelegate("click mouseover mouse ...

  4. demo_07选择器练习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. Java就业企业面试问题-ssh框架

    SSH框架阶段SSH的优缺点,使用场景?   Hibernate优点:   (1) 对象/关系数据库映射(ORM) 它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想 ...

  6. VMWare安装Win10虚拟机

    这两天突发奇想安了个win10虚拟机,在安装的过程中还遇到了不少麻烦,所以在此与大家分享下. 首先我们用VMWare12来安装,VMWare已经更新到14但是不太稳定,所以为了保险起见还是用12吧. ...

  7. kafka知识体系-kafka设计和原理分析-kafka文件存储机制

    kafka文件存储机制 topic中partition存储分布 假设实验环境中Kafka集群只有一个broker,xxx/message-folder为数据文件存储根目录,在Kafka broker中 ...

  8. &lbrack;Leetcode&rsqb;450&period; Delete Node in a BST

    Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...

  9. RDD的概念与创建

    1.RDD是整个Spark的计算基石.是分布式数据的抽象,为用户屏蔽了底层复杂的计算和映射环境 RDD是不可变的,如果需要在一个RDD上进行转换操作,则会生成一个新的RDD RDD是分区的,RDD里面 ...

  10. Codeforces Round &num;530 &lpar;Div&period; 2&rpar;

    RANK :2252 题数 :3 补题: D - Sum in the tree 思路:贪心 把权值放在祖先节点上 ,预处理 每个节点保存 他与他儿子中 权值最小值即可. 最后会有一些叶子节点依旧为 ...