前端自动化工具 -- gulp https://angularjs.org/
gulp是基于流的前端自动化构建工具。
gulp是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用。
同样的,也是包括基本用法和各插件的使用。
二、基本用法--插件使用
gulp所支持的插件也是很多的,使用方式跟基本的nodejs差不多。
下面统一介绍几个常见的 插件 ,更详细用法可以到对应官方站点查看API
- sass的编译( gulp-ruby-sass )
- 自动添加css前缀( gulp-autoprefixer )
- 压缩css( gulp-minify-css )(后来发现我用的是 gulp-clean-css 压缩css文件)
- js代码校验( gulp-jshint )
- 合并js文件( gulp-concat )
- 压缩js代码( gulp-uglify )
- 压缩html文件(gulp-html-minify)
- 压缩图片( gulp-imagemin )
- 重命名( gulp-rename )
- 自动刷新页面( gulp-livereload )
- 图片缓存,只有图片替换了才压缩( gulp-cache )
- 更改提醒( gulp-notify )
- 清除文件( del )
使用它们,就要先install,可以直接在package.json中直接配置devDependencies依赖项,然后再统一 npm install
以下只是本人使用前端自动化gulp的一些方法,仅供参考
1、打开cmd,输入 npm install -g gulp ,在全局环境下安装gulp
2、回车,进入你想要压缩的文件夹里面,输入 npm install --save-dev gulp,在局部环境安装gulp
3、再来按照你的项目有什么文件压缩什么文件,一般在cmd通常都要压缩html、js、css和图片,或是合并。。。
4、在cmd 输入 npm install --save-dev gulp-uglify js文件压缩
npm install --save-dev gulp-clean-css css文件压缩
npm install --save-dev gulp-html-minify html文件压缩
npm install --save-dev gulp-imagemin 图片压缩
npm install --save-dev gulp-autoprefixer 自动添加css前缀
npm install --save-dev gulp-contact 合并文件
5、接下来就是代码了
// 1、先装全局变量
// 2、再装本地
var gulp = require("gulp");
// 3、压缩代码的模块,还需要本地安装 gulp-uglify
var uglify = require("gulp-uglify");//压缩js
var cssmin = require("gulp-clean-css");//压缩css
var htmlmin = require("gulp-html-minify");//压缩html
var imgmin = require("gulp-imagemin");//压缩图片
var concat = require("gulp-concat");//合并文件
var autoprefixer = require("gulp-autoprefixer");//添加前缀
//压缩JS
gulp.task("jsmin",function(argument){
this.src("./public/js/audio.js") //压缩js文件原件的路径
.pipe(uglify()) //使用uglify() 方法压缩
.pipe(gulp.dest("./dist/js")) //文件压缩的最终目的是/dist/js文件夹里面
})
//合并文件
gulp.task("jsmin",function(argument){
this.src("./public/js/*") //* 代表 两个或两个以上的文件
.pipe(uglify()) //使用uglify() 方法压缩
.pipe(concat("all.min.js")) //使用concat方法 将两个或两个以上的文件压缩到 all.min.js 文件里面
.pipe(gulp.dest("./dist/js")) //文件压缩的最终目的是/dist/js文件夹里面
})
//压缩css
gulp.task("cssmin",function(argument){
this.src("./public/css/song.css")
.pipe(autoprefixer({ //autoprefixer 方法 自动添加css前缀
browsers:['last 2 versions'], //浏览器的版本
cascade:true
}))
.pipe(cssmin()) //使用cssmin() 方法压缩
.pipe(gulp.dest("./dist/css")) //文件压缩的最终目的是/dist/css文件夹里面
})
//压缩html
gulp.task("htmlmin",function(argument){
this.src("./*.html")
.pipe(htmlmin())
.pipe(gulp.dest("./dist"))
})
//压缩img
gulp.task("imgmin",function(argument){
this.src("./public/img/*") //所有的图片
.pipe(imgmin()) //使用imagemin() 方法压缩图片
.pipe(gulp.dest("./dist/image")) //文件压缩的最终目的是/dist/image文件夹里面
})
gulp.task("default",function(argument){
gulp.run(["jsmin","cssmin","htmlmin","imgmin"]);
})
前端自动化工具 -- gulp https://angularjs.org/的更多相关文章
- 前端自动化工具gulp自动添加版本号
之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...
- 学习安装并配置前端自动化工具Gulp
Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...
- 前端自动化工具 -- Gulp 使用简介
gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...
- 安装并配置前端自动化工具-gulp
由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...
- 前端自动化工具 gulp
最近一个项目才接触这些自动化工具 webpack gulp grunt 等等.. webpack 可以引入模块 和 压缩 gulp 和 grunt 可以压缩 这里只说下gulp 因为项目里只用到gu ...
- 【gulp】前端自动化工具---gulp的使用(一)------【巷子】
什么是gulp? 基于node的自动化构建工具 扩展:开发的时候分为2个节点一个是开发阶段 另一个是部署阶段 开发阶段:源文件不会被压缩 部署阶段:所有文 ...
- 前端自动化工具gulp入门基础
gulp是前端开发过程中经常要用到的工具,非常值得花时间去掌握.利用gulp,我们可以使产品流程脚本化,节约大量的时间,有条不紊地进行业务开发.本文简单讲一下入门gulp需要掌握的东西. 安装gulp ...
- Node.js前端自动化工具:gulp
前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...
- (转载)前端构建工具gulp使用
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...
随机推荐
- JavaScript tips —— target与currentTarget的区别
定义 以下是红宝书的描述 属性/方法 类型 读/写 说明 currentTarget Element 只读 其事件处理程序当前正在处理事件的那个元素 target Element 只读 事件的目标 M ...
- Node.js基础知识普及
Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序. 一. Node.js的核心模块有很多,这里先写几个比较常用的( ...
- 【C#笔札】1 string类型(2)
4> Trim whitespace Trim 也是string的一个方法节点 C#例子如下: C#中有Trim,TrimEnd 和TrimStart三种Trim节点,其中后两者无需介绍. 如上 ...
- Installing Forms Developer 10g and Reports 32-bit on 64-bit Windows versions(win7 or win10)
E-Business Suite 12.1 and 12.2 require Forms Developer 10g and Reports Designer 10g. Forms Develope ...
- Openstack Mitaka 负载均衡 LoadBalancerv2
最近研究了一下Openstack负载均衡,yum源和源码级别的安装都尝试成功了.网上有很多文章都是LoadBalancerv1,这个已经被放弃了.所以写一下自己是如何使用LoadBalancerv ...
- oracle 常用的系统表查询
(转自:http://blog.csdn.net/marshalchen/article/details/6552103) select * from user_tab_cols where colu ...
- fastclick插件 导致 日期插件无法触发
fastclick源文件中有这一行,加个if条件就可以了 当touchend的时候我们判断一下他的event.target到底是啥,如果是date我们就不玩了,不要你fastclick了,用原生的去触 ...
- Activity传递参数——传递复杂数据(Bunble包)
一.新建一个空的工程 二.在主界面中添加一个按钮 三.新建一个空的activity,并命名为TheAty 四.修改MainActivity.java中的onCreate函数 protected voi ...
- 类Flask实现前后端交互之代码聊天室
前言 框架 项目目录及各自功能 流程图 后端 server backend exector 前端 ajax 页面更新 演示 简易应答模式 代理模式处理外部请求 后台日志 总结 前言 这两天老是做梦,全 ...
- vs无法调试 ,还没有为该文档加载任何符号
如何:启用非托管代码调试 位于“项目设计器”的“调试”页上的“非托管代码调试”属性确定是否支持本机代码调试. 如果要调用 COM 对象,或启动调用您的项目的.以本机代码编写的自定义程序,并且需要调 ...