gulp插件使用
//引入gulp组件
var gulp=require('gulp'); //创建任务
gulp.task('hello',function(){
console.log('hello');
});
//创建另一个任务
gulp.task('world',function(){
console.log('world');
});
//默认执行两个任务
//一个gulpfile.js中只能有一个default
//三种写法,3个参数
/**
* [description] default默认 的写法
* 写法一:gulp.task('default',function(){});
* 写法二:gulp.task('default',['task1','task2','....']);
* 写法三:gulp.task('difault',['task1','task2','...'],function(){});
*
*/
/*gulp.task('default',['hello','world'],function(){
console.log('finish');
});*/
//gulp的具体用法 //拷贝文件
gulp.task('copy-files',function(){
//src:找到源文件 相对于gulpfile.js的路径
//pipe ‘拷贝’ 管道 参数 拷贝完需要做的事
//dest 目标 参数:路径
gulp.src('src/index.html').pipe(gulp.dest('dist'));
});
//只拷贝类型为jpg的文件
gulp.task('copy-images',function(){
gulp.src('src/images/*.jpg').pipe(gulp.dest('dist/img'));
});
//拷贝所有文件
//*表示第1层 **表示第二层 /**/*所有文件
gulp.task('copy-allfiles',function(){
gulp.src('src/images/*').pipe(gulp.dest('dist/img'));
});
//将多个文件的内容拷贝到一个文件夹下
gulp.task('copy-data',function(){
//src路径可以是一个数组['src1','src2'] 不需要的文件在路径前加一个!
gulp.src('src/data/*').pipe(gulp.dest('dist/data'));
});
//监听
/*gulp.task('watch',function(){
//watch()监听 参数1:需要监听的文件 参数2:当监听到变化后完成的方法
gulp.watch('src/index.html',['copy-files']);
});*/
// 停止监听(其他命令) Ctrl+C //引入gulp的插件gulp-connect 这个插件可以启动本地服务
var connect=require('gulp-connect');
gulp.task('server',function(){
//启动本地服务
connect.server({
//设置服务的根路径
root:'dist',
//开启实时更新
livereload:true,
//设置端口 默认8080
port:80
});
});
gulp.task('watch',function(){
gulp.watch('src/index.html',function(){
gulp.src('src/index.html').pipe(gulp.dest('dist')).pipe(connect.reload());
});
});
gulp.task('default',['server','watch']); var concat=require('gulp-concat');
//创建任务合并js文件
gulp.task('concat-js',function(){
gulp.src(['src/js/test1.js','src/js/test2.js']).pipe(concat('vendor.js')).pipe(gulp.dest('dist/js'));
});
//压缩js文件
var uglify=require('gulp-uglify');
gulp.task('uglify-js',function(){
gulp.src(['src/js/test1.js','src/js/test2.js']).pipe(concat('vendor.js')).pipe(uglify()).pipe(gulp.dest('dist/js'));
});
//重命名插件
var rename=require('gulp-rename');
gulp.task('rename-js',function(){
gulp.src(['src/js/test1.js','src/js/test2.js']).pipe(concat('vendor.js')).pipe(gulp.dest('dist/js')).pipe(uglify()).pipe(rename('vendor.min.js')).pipe(gulp.dest('dist/js/'));
});
//合并css
gulp.task('concat-css',function(){
gulp.src(['src/css/style1.css','src/css/style2.css']).pipe(concat('style.css')).pipe(gulp.dest('dist/css'));
});
var minify=require('gulp-minify-css');
gulp.task('minify-css',function(){
gulp.src(['src/css/style1.css','src/css/style2.css']).pipe(concat('style.css')).pipe(rename('style.min.css')).pipe(minify()).pipe(gulp.dest('dist/css'));
});
来到本地路径,创建工程配置文件
npm init
本地安装gulp
npm install gulp --save-dev
让package.json依赖于gulp
安装package.json中依赖了的组件
npm install
安装服务的插件
npm install gulp-connect --save-dev
合并文件的插件
npm install gulp-concat --save-dev
压缩js文件的插件
npm install gulp-uglify --save-dev
给文件重命名的插件
npm install gulp-rename --save-dev
压缩css文件的插件
npm install gulp-minify-css --save-dev
代码目录树
gulp插件使用的更多相关文章
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- gulp 插件
原文链接:http://www.mamicode.com/info-detail-517085.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具gr ...
- gulp插件(gulp-jmbuild),用于WEB前端构建
源码地址:https://github.com/jiamao/gulp-jmbuild https://github.com/jiamao/gulp-jmbuild gulp-jmbuild gulp ...
- gulp插件gulp-usemin简单使用
关于什么是gulp,它和grunt有什么区别等问题,这里不做任何介绍.本文主要介绍如何使用gulp-usemin这款插件,同时也会简单介绍本文中用到的一些插件. 什么是gulp-usemin 用来将H ...
- 使用gulp插件来自动刷新页面。
http://itakeo.com/blog/2016/05/19/gulpreload/?none=123 使用gulp插件来自动刷新页面.再也不用修改一次,按一下F5了. 首选通过npm inst ...
- 将less编译成css的gulp插件
简介:gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码, ...
- 如何编写一个gulp插件
很久以前,我们在"细说gulp"随笔中,以压缩JavaScript为例,详细地讲解了如何利用gulp来完成前端自动化. 再来短暂回顾下,当时除了借助gulp之外,我们还利用了第三方 ...
- Gulp 插件及其使用
前端现在有很多的自动打包工具,各有优缺点,而gulp作为其中的一员,也有着很受人们的青睐,简单粗暴,然而gulp本身并没有提供很多的API,真正的一些工作则是靠着插件完成的,本文简单介绍一些常用的gu ...
- gulp插件构建项目 压缩js、css、image、zip、web服务、跨域等插件
推荐一个很好文: https://github.com/lin-xin/blog/issues/2 匹配符 *.**.!.{} gulp.src('./js/*.js') // * 匹配js文件夹下所 ...
- Gulp插件笔记
初次接触Gulp是出于网页模块化的需要,用过之后发现这个任务管理工具有很多实用的插件,意外地好用,于是打算写下这篇笔记把用到的Gulp插件记录一下.至于想了解Gulp基本用法的同学可以去Gulp官网查 ...
随机推荐
- Linux下C 更改字符在终端的显示颜色
使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色. 比如: #include <stdio.h> int main( ...
- Hdu 4291
题目链接 这道题, 给我的最大的知识点就是对于去模运算,一定可以找到循环节,这题只不过是嵌套了两层,可以分别找到循环节.关于这题如何找循环节的,直接暴力,网上也有很多. 找到循环节之后,另一个知识点就 ...
- linux中$@,$*,$0,$$,$?参数的含义
$# 是传给脚本的参数个数 $ 是脚本本身的名字 $ 是传递给该shell脚本的第一个参数 $ 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向 ...
- 2018-8-10-WPF-轻量级-MVVM-框架入门-2.1.2
title author date CreateTime categories WPF 轻量级 MVVM 框架入门 2.1.2 lindexi 2018-08-10 19:16:51 +0800 20 ...
- Android GDI 图形渲染
发布于2011-07-26 导读:对于Android开发者来说,成系列的技术文章对他们的技术成长帮助最大.如下是我们向您强烈推荐的主题为Android开发的第一个系列文章. <Andro ...
- LightOJ 1269 Consecutive Sum (Trie树)
Jan's LightOJ :: Problem 1269 - Consecutive Sum 题意是,求给定序列的中,子序列最大最小的抑或和. 做法就是用一棵Trie树,记录数的每一位是0还是1.查 ...
- JVM参数详细列表
-client :设置JVM使用client模式,特点启动较快(神机不明显(I5/8G/SSD)) -server :设置JVM使用server模式.64位JDK默认启动该模式 -agentlib:l ...
- behavior planning——10 behaior planning pseudocode
One way to implement a transition function is by generating rough trajectories for each accessible & ...
- kuangbin专题-连通图A - Network of Schools
这道题的意思是就是 问题 1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件. 2:至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校 ...
- H3C TCP与UDP的对比