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官网查 ...
随机推荐
- poj3532 Round Numbers
题意:给出l.r,求区间[l,r]内二进制中0的个数大于等于1的个数的数字有多少个. 简单的数位dp. //Serene #include<algorithm> #include< ...
- ipad模拟器iPadian.exe
http://dl.pconline.com.cn/download/368140.html 苹果IPAD模拟器!让你的电脑立刻拥有IOS系统!马上变成ipad!几百个免费的扩展应用程序,能登QQ,微 ...
- 【C++】关于map的遍历 删除
int main(int argc, char* argv[]) { map<string, string> mapData; mapData["a"] = " ...
- python 局部变量
- Java练习 SDUT-2499_数字
数字 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 定义f(x) = {比x小,不可以被x整除并且不和x互质的数的个数 ...
- UVA_494:Kindergarten Counting Game
Language: C++ 4.8.2 #include<stdio.h> #include<ctype.h> int main(void) { int ch; int wor ...
- C# 从零开始写 SharpDx 应用 初始化dx修改颜色
原文:C# 从零开始写 SharpDx 应用 初始化dx修改颜色 版权声明:博客已迁移到 https://blog.lindexi.com 欢迎访问.如果当前博客图片看不到,请到 https://bl ...
- Python基础:11变量作用域和闭包
一:变量作用域 变量可以是局部域或者全局域.定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域. 全局变量的一个特征是除非被删除掉,否则它们的存活到脚本运行结束,且对于所有的函数, ...
- 2019-2-2-VisualStudio-扩展开发-添加菜单
title author date CreateTime categories VisualStudio 扩展开发 添加菜单 lindexi 2019-02-02 15:35:18 +0800 201 ...
- 解决移动端1px边框问题的几种方法
1.边框粗细原因 在移动端下设置border为1px,在某些设备上看比1px粗. 这些由于不同的手机有不同的像素密度.在window对象中有一个devicePixelRatio属性,他可以反应css中 ...