前端小白的gulp入门
gulp新手入门
全局安装 cnpm install -g gulp
本地安装 cnpm install gulp -D 如果项目没有package.json,记得npm init
安装插件cnpm install gulp-插件名 -D
细心的科普
//i -->install
//D -->--save-dev 记录package.json文件里
//S -->--save 本地安装
- gulp报低级错误
- 删除node_modules在安装
rm -rf node_modules
cnpm i
先新建一个任务清单
新建gulpfile.js文件

插件

gulp-less 编译LESS文件
gulp-autoprefixer 添加CSS私有前缀
gulp-cssmin 压缩CSS
gulp-rname重命名
gulp-imagemin 图片压缩
gulp-uglify 压缩Javascript
gulp-concat 合并
gulp-htmlmin 压缩HTML
gulp-rev 添加版本号 //md5文件加密
gulp-rev-collector 内容替换
不上代码怎么行呢?不然还是会摸不到北
//引用本地安装的gulp
var gulp = require("gulp");
var less = require("gulp-less"); //less转化
var cssmin = require("gulp-cssmin"); //压缩css
var imagemin = require("gulp-imagemin"); //压缩图片
var uglify = require("gulp-uglify"); //资源合并
var concat = require("gulp-concat"); //合并
var htmlmin = require("gulp-htmlmin"); //压缩html
var minify = require('html-minifier').minify; //注释清除插件
var postcss=require("gulp-postcss"); //加私有前缀
var autoprefixer=require("gulp-autoprefixer");
var rev = require("gulp-rev"); //添加版本号
var revCollector=require("gulp-rev-collector"); //文本替换
//定义任务
gulp.task("less", function () {
//借助gulp.src来指定less文件位置
gulp.src("./less/*.less")
//借助gulp
.pipe(less())
.pipe(cssmin())
.pipe(autoprefixer())
.pipe(rev()) //生成的文件名添加md5 垃圾回收
//通过gulp.dest进行存储
.pipe(gulp.dest("./release/piblic"))
.pipe(rev.manifest()) //记录css改名记录 是这个插件gulp-rev-collector
.pipe(gulp.dest("./release/rev"))
})
//压缩图片 命令 gulp image
gulp.task("image", function () {
gulp.src("./images/*")
.pipe(imagemin())
.pipe(gulp.dest("./imagemin"))
})
//压缩js 命令gulp js
gulp.task("js", function () {
gulp.src("./scripts/*.js")
.pipe(concat("all.js"))//合并的文件记得写名字
.pipe(uglify())
.pipe(gulp.dest("./bbb"))
})
//压缩html 命令 gulp html //注意单词别写错了哟
//这个还是看官方文档吧,很清晰
gulp.task("html", function () {
gulp.src(['./index.html', './views/*.html'],{base:'./'})
//可以写多个文件 {base:"./"}就是./是不动的,相当于忽略掉
.pipe(htmlmin({collapseWhitespace: true, removeComments: true,minifyJS:true}))
//这个看文档哦 minifyJS:true压缩html中的js
.pipe(gulp.dest("./aaa"))
})
// 替换 这个要注意文件的路径哟 其实就是替换html中的css路径,因为
// 当你把css的文件名改的就需要改html的文件路径,是不是有点罗嗦
// 记得要使用哪个插件一定提前下载,不然报错你也会一脸懵逼
gulp.task("rev",function () {
gulp.src(["./release/rev/*.json","./release/*.html"],{base:"./release"})
.pipe(revCollector())
.pipe(gulp.dest("./release"))
})
//html中的js改名替换我还没弄出来
看到官网有3000多个插件,差点吓我一跳,需要多查文挡,多百度哟
前端小白的gulp入门的更多相关文章
- (转)前端构建工具gulp入门教程
前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...
- 前端自动化工具gulp入门基础
gulp是前端开发过程中经常要用到的工具,非常值得花时间去掌握.利用gulp,我们可以使产品流程脚本化,节约大量的时间,有条不紊地进行业务开发.本文简单讲一下入门gulp需要掌握的东西. 安装gulp ...
- 前端构建工具gulp入门教程(share)
参考自:http://segmentfault.com/a/1190000000372547 资源: npm上得gulp组件 gulp的Github主页 官方package.json文档 gulp中文 ...
- 前端构建工具gulp入门
本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...
- 前端构建工具gulp入门教程
本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...
- Web前端小白入门指迷
前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...
- gulp 入门使用
gulp 入门使用 使用场景 相信大家在传统的开发模式下 都是 html + css + js 然后静态文件不经过任何处理 部署到服务器,这样会有很多漏洞例如: 1.在网站上查看F12 就可以看到 ...
- 【转】Gulp入门基础教程
Gulp入门基础教程 原文在此 前言最近流行前端构建工具,苦于之前使用Grunt,代码很难阅读,现在出了Gulp, 真是摆脱了痛苦.发现了一篇很好的Gulp英文教程,整理翻译给大家看看. 为什么使用G ...
- 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放
要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...
随机推荐
- MYSQL主从库同步配置过程
MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...
- MySQL zip解压版安装过程及问题
1.首先解压mysql压缩包,然后添加环境变量path(D:\mysql-5.7.11\bin) 2.修改D:\mysql-5.7.11\my-default.ini 文件的配置项 ...
- php curl实现get和post请求
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性 ...
- 基于jQuery表单快速录入数据功能
一.功能介绍:完全依靠jQuery,表单table新增行(按键盘tab增一行,按esc删一行),也可以加一个新增行按钮点击新增多行,这里就不多说了~~ 二.该功能主要实现技术: 1,总体.NET MV ...
- js swipeDelete 滑动删除
先上图看看整体实际效果 看看用法 与参数 默认参数 var defaults = { distance:80, //滑动距离 units:'px', //默认单位 touchStart:functio ...
- linkinFrame--用maven搭项目结构
OK,老早想写一套自己的web框架,然后也一直在看开源的一些框架源码.今天开始正式开始写自己的javaWeb框架,暂时就定义linkinFrame好了. 为什么要写一套自己的框架? 其实这是一个比较矛 ...
- scp简单使用
从10.48.113.11获取目录/home/test 到本地/home目录下 scp -r root@10.48.113.11:/home/test /home 将本地/h ...
- python异步加协程获取比特币市场信息
目标 选取几个比特币交易量大的几个交易平台,查看对应的API,获取该市场下货币对的ticker和depth信息.我们从网站上选取4个交易平台:bitfinex.okex.binance.gdax.对应 ...
- Python学习笔记(三): 收集参数
如下代码: >>>def print_params(title,*params) print title print params >>>print_params( ...
- C#:导入Excel通用类(CSV格式)
一.引用插件LumenWorks.Framework.IO.dll(CsvReader) 插件下载地址:https://pan.baidu.com/s/1c3kTKli 提取密码 dz7j 二.定义 ...