前端小白的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首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...
随机推荐
- 个人Vue-1.0学习笔记
dVue.js是类似于angular.js的一套构建用户界面的渐进式框架,只关注视图层, 采用自底向上增量开发的设计. Vue.js的代码需要放置在指定的HTML元素后面. 关于Vue的数据绑定: 例 ...
- DEDECMS去掉自动生成首页或栏目后面带的index.html
Dede默认生成首页后,首页的链接后面会多出一个index.html.据官方说法这样有利于网站优化.但是这个index.html怎么看都不舒服,而且也不利于seo中主页url的统一.因为我的网站的ur ...
- Rootkit 核心技术——利用 nt!_MDL(内存描述符链表)突破 SSDT(系统服务描述符表)的只读访问限制 Part I
-------------------------------------------------------- 在 rootkit 与恶意软件开发中有一项基本需求,那就是 hook Windows ...
- 风险案例-28期-项目Leader与团队成员缺乏沟通,问题响应度较慢导致团队士气低落,工作效率低
典型案例: A公司某C类项目目前进入开发高峰期,项目组的三个leader预计在项目的实际task投入占比为70%,剩30%工作时间用于指导组员进行作业实施并担当部分管理工作.从项目实施过程中发现Lea ...
- MySQL 查询最近几天的记录 最近7天的记录 本周内的记录
本周内:select * from wap_content where week(created_at) = week(now) 查询一天:select * from table where to_d ...
- Win8无法访问xp共享的解决方法——win8网上邻居访问别的xp电脑要用户名和密码取消方法
新装win8,原来的win7正常连接xp下载机的共享,但在win8下进网上邻居却无法访问xp的共享,显示”用户名或密码不正确”,而密码明明是对的如图所示: 解决方法: 按Win+R启动运行,输secp ...
- linux_用户和组
linux用户分为3类: 超级用户:root, UID为0, GID为0 普通用户: 500 -65535, 由root创建 虚拟用户: 1-499 - 系统里傀儡,不能使用,固定存在,满足linux ...
- j2e应用概述
过年也过完了,现在正式开始进入j2e的整理.现在开篇第一篇,整理一下j2e应用和开发环境.j2e应用提供的跨平台性,开放性已经各种远程访问的技术,为异构系统的良好整合提供了保证.注意这个是有一个异构系 ...
- spark-遇到问题小结
经常会遇到 类似 shuffle 0 的错误,或者 connect refuse .主要是shuffle 导致内存不足引起的.shuffle 分为 shuffle read 和write . 1. ...
- 07_jquery入门第一天
视频来源:麦子学院 讲师:魏畅然 补充:JSON.stringify()函数 [https://www.cnblogs.com/damonlan/archive/2012/03/13/2394787. ...