前端自动化之gulp

前题:1.安装好nodejs环境,或者nvm

   2.安装npm包管理工具

简介:

可以自动的将开发阶段的代码进行压缩、合并、编译、加密等处理,生成项目提交的代码。

使用:

gulpfile.js文件编写的api较少,只有5个,可查看api自行编写。

http://www.gulpjs.com.cn/docs/api/

用npm下载gulp插件:

    "browser-sync": "^2.18.13",
"gulp-autoprefixer": "^4.0.0",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-htmlmin": "^3.0.0",
"gulp-less": "^3.3.2",
"gulp-minify-css": "^1.2.4",
"gulp-uglify": "^3.0.0"

编写gulp任务:

gulpfile.js文件案例:

'use strict';

// 载入Gulp模块
var gulp = require('gulp');
var less = require('gulp-less');/*less编译*/
var autoprefixer = require('gulp-autoprefixer');//给 CSS 增加前缀。解决某些CSS属性不是标准属性,有各种浏览器前缀的情况
var cssnano = require('gulp-cssnano');
var cssmin = require('gulp-minify-css');/*压缩css*/
var concat = require('gulp-concat');/*合并*/
var uglify = require('gulp-uglify');/*压缩混淆*/
var htmlmin = require('gulp-htmlmin');/*html压缩*/
var browserSync = require('browser-sync');/*网页自动刷新*/
var reload = browserSync.reload; // 注册样式编译任务
gulp.task('css', function() {
gulp.src('src/css/*.css')
.pipe(concat('main.css')) //合并css
.pipe(gulp.dest('dist/css'))/*导出*/
.pipe(reload({
stream: true
}));
}); // 注册脚本合并压缩任务
gulp.task('script', function() {
gulp.src('src/scripts/*.js')
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(gulp.dest('dist/scripts'))
.pipe(reload({
stream: true
}));
}); gulp.task('image', function() {
gulp.src('src/images/*.*')
.pipe(gulp.dest('dist/images'))
.pipe(reload({
stream: true
}));
}); gulp.task('html', function() {
gulp.src('src/*.html')
.pipe(htmlmin({
collapseWhitespace: true,
collapseBooleanAttributes: true,
removeAttributeQuotes: true,
removeComments: true,
removeEmptyAttributes: true,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true,
}))
.pipe(gulp.dest('dist'))
.pipe(reload({
stream: true
}));
}); gulp.task('serve', ['css', 'script', 'image', 'html'], function() {
browserSync({
notify: false,
port: 2015,
server: {
baseDir: ['dist']
}
});
gulp.watch('src/styles*//*.css', ['css']);
gulp.watch('src/scripts*//*.js', ['script']);
gulp.watch('src/images*//*.*', ['image']);
gulp.watch('src*//*.html', ['html']);
}); /*
gulp.task('saaa', function() {
console.log(1111111)
});*/

可通过案例按照实际情况修改。

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

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

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

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

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

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

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

  4. 前端自动化工具 -- gulp https://angularjs.org/

    gulp是基于流的前端自动化构建工具. gulp是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用. 同样的,也是包括基本用法和各插件的使用. 二.基本用法--插件使用 gu ...

  5. 【前端自动化】Gulp的使用(一):安装gulp

    作为一个.NET码农,在前端高速发展的时代,深深感觉自己那么点“前端”技术不够看,比如开发出来的js css等文件庞大,不便于管理,还记得以前的开发就是累加 html  css   jquery, 现 ...

  6. 安装并配置前端自动化工具-gulp

    由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...

  7. 【gulp】前端自动化工具---gulp的使用(一)------【巷子】

    什么是gulp?   基于node的自动化构建工具   扩展:开发的时候分为2个节点一个是开发阶段  另一个是部署阶段        开发阶段:源文件不会被压缩            部署阶段:所有文 ...

  8. 前端自动化工具 gulp

    最近一个项目才接触这些自动化工具 webpack gulp grunt 等等.. webpack 可以引入模块 和 压缩 gulp 和 grunt 可以压缩 这里只说下gulp  因为项目里只用到gu ...

  9. 前端自动化工具gulp入门基础

    gulp是前端开发过程中经常要用到的工具,非常值得花时间去掌握.利用gulp,我们可以使产品流程脚本化,节约大量的时间,有条不紊地进行业务开发.本文简单讲一下入门gulp需要掌握的东西. 安装gulp ...

随机推荐

  1. day5-随机数相关:random模块&string模块

    一.概述 随机数在程序设计中的属于比较基础的内容,主要用于验证场景(如验证码,生成账号对应的密码等),今天结合random模块和string模块来谈谈python中随机数那些事儿. 二.随机数实现相关 ...

  2. 详解 WebAPI 签名机制

    首先,写这篇文章的原因是因为最近某一个项目中的接口被人为调用了,导致了数据库数据被串改.虽然是内部人无意点的,但还是引起了我的担忧,所有整理了下关于WebAPI的相关签名机制. 一.我们在开发接口时, ...

  3. Solr集群安装

    1.JDK安装版本:jdk1.8.0 安装原文件路径:10.58.111.35(10.58.111.36.10.58.111.44)堡垒机 [/opt/jdk-8u101-linux-x64.tar. ...

  4. LeetCode OJ:Best Time to Buy and Sell Stock(股票买卖的最佳时期)

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  5. Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe5' in file

    [现象] 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* [原因 ...

  6. DevExpress使用笔记

    DevExpress这套控件用了也有几年的时间了,现在用的版本是14.2.2. 确实是很强大的一套控件,用的好,做出的效果也是相当的好,记录一些平常用到的代码,就当记笔记吧,慢慢完善,其实网上也有大把 ...

  7. WCF Restful 服务 Get/Post请求

    Restful  Get方式请求: Restful服务 Get请求方式:http://localhost:10718/Service1.svc/Get/A/B/C http://localhost:1 ...

  8. CODEVS1049 棋盘染色

    题目大意:01矩阵,1表示黑色,0表示白色,求将白色染成黑色最少的次数 使黑色成为一整个联通块. 题解: 搜索bfs 90... dfs判断连通 #include<iostream> #i ...

  9. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B. "Or" Game

    题目链接:http://codeforces.com/contest/578/problem/B 题目大意:现在有n个数,你可以对其进行k此操作,每次操作可以选择其中的任意一个数对其进行乘以x的操作. ...

  10. 关于android api 23 +的权限问题

    Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, n ...