gulp的安装与使用【附配置代码】
1.配置 下载安装node.js
node -v //检查nodejs版本

npm install -g cnpm --registry=https://registry.npm.taobao.org //安装淘宝镜像使用cnpm
https://registry.npm.taobao.org" //或者直接把npm镜像的地址换成淘宝镜像地址,直接使用npm享受高速网络,以下默认以您安装淘宝镜像的方式进行演示,而非替换npm镜像地址
cnpm install gulp -g gulp -v //查询本地是否安装过了
cnpm install gulp@3.9. --save-dev

cnpm init -y //直接自动创建package.json,无需重复enter
{
"name": "teach",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Elias",
"license": "ISC",
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"gulp": "^4.0.2",
"gulp-babel": "^7.0.1",
"gulp-clean-css": "^4.0.0",
"gulp-concat": "^2.6.1",
"gulp-connect": "^5.7.0",
"gulp-rename": "^1.4.0",
"gulp-sass": "^4.0.2",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.1"
},
"dependencies": {}
}
cnpm install gulp-sass --save-dev
cnpm i
//gulp的配置文件
var {watch,src,task,dest,connect} = require("gulp");//加载gulp模块
var connect = require("gulp-connect");//服务器模块
var sass = require("gulp-sass");//将sass文件转换成css文件的模块
var sourcemaps = require('gulp-sourcemaps');//让编译后的文件和源文件的关联的模块
var cleanCss=require("gulp-clean-css");//压缩css
var concat = require("gulp-concat");//合并js
var uglify = require("gulp-uglify");//压缩js
var rename = require("gulp-rename");//重命名
var babel = require("gulp-babel");//es6转es5
//调用gulp的task方法创建任务
//复制根目录下所有的HTML文件到dist文件夹 function copyIndex(){
return src("*.html")
.pipe(dest("dist"))
.pipe(connect.reload());
}
//复制根目录img文件夹下png、jpg、gif、jpeg格式的文件到dist文件夹下的img文件夹
function copyImg(){
return src("img/*.{png,jpg,gif,jpeg}")
.pipe(dest("dist/img"));
}
//复制xml、json到dist/data
function copyData(){
return src(["xml/*.xml","json/*.json"])
.pipe(dest("dist/data"));
}
//复制并压缩css文件到dist/css文件夹
function copyCss(){
return src("css/*.css")
.pipe(cleanCss())
.pipe(dest("dist/css"))
.pipe(connect.reload());
}
//将scss文件转换为css并在压缩后粘贴到dist/css文件夹
function copySass(){
return src("scss/*.scss")
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}))
.pipe(sourcemaps.write())
.pipe(dest("dist/css")).pipe(connect.reload());
}
//压缩具体文件并重命名后到粘贴到具体目录
function doUglify(){
return src("jquery-1.11.0.js")
.pipe(uglify())
.pipe(rename("jquery.min.js"))
.pipe(desk("dist"))
}
//合并js文件并压缩重命名到指定目录
function doConcat(){
return src(["a.js","js/b.js"])
.pipe(concat("mix.js"))
.pipe(dest("dist/js"))
.pipe(uglify())
.pipe(rename("mix.min.js"))
.pipe(dest("dist/js"));
}
//将js文件从es6转换为es5并压缩
function doBabel(){
return src("js/*.js")
.pipe(babel({presets:["es2015"]}))
.pipe(uglify())
.pipe(dest("dist/js"))
.pipe(connect.reload())
}
//开启服务器
function doServer(){
return connect.server({
root:'dist',
livereload:true
});
} //监听,下面文件夹中的文件稍有异动便执行后面的程序
function doWatch(){
watch("*.html",copyIndex);
watch("scss/*.scss",copySass);
watch("css/*.css",copyCss);
watch("js/*.js",doBabel);
watch("img/*.{png,jpg,gif,jpeg}",copyImg);
} //运行默认执行程序,此处默认执行服务器和监听两个程序
exports.default=function(){
doServer();
doWatch();
}
8.运行gulp
gulp
cnpm install babel-cli babel-preset-es2015 --save-dev
也可能是最新插件版本不稳定造成的,检查安装插件版本号代码为
cnpm view gulp-babel versions
nondejs
nodemon插件
每次修改nodejs代码都需要重启服务器,可以使用插件nodemon来解决全局安装此插件,每次修改代码之后就不需要手动重启
cheerio插件
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方,项目目录安装
express插件
通过express脚手架可以轻松的搭建一个平台。个人偏好ejs引擎,安装方式为 全局安装express,项目目录express --ejs
json server插件
全局安装json server,通过json-server --watch **.json命令使json文件运行在服务器
gulp的安装与使用【附配置代码】的更多相关文章
- Eclipse4.5在线安装Aptana插件及配置代码提示教程
一.Aptana插件官网地址 我在网上试过登陆到aptana官网后点击下载,选择下载eclipse插件版,然后页面给出一串地址:http://download.aptana.com/s ...
- 【gulp】Gulp的安装和配置 及 系列插件
注意:要安装俩次gulp(全局和本地):全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能. 之前由大牛帮忙配置的gulp来用.今天时间充裕,就和小伙伴一起动手配置 ...
- gulp的安装和配置
gulp的安装和使用方法 1先是有node为前提的, 2安装淘宝镜像 2.1因为很多npm包都是国外的,所以安装起来很慢,所以我们可以利用淘宝的镜像服务器来进行安装后续的包,速度和成功率会高很多. ...
- CentOS7服务器中apache、php7以及mysql5.7的安装配置代码
CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgradeyum install net-tools 安装apache (http://m.86822 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- JDK安装、java环境配置
JDK是Java语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. JRE(Java ...
- 使用gulp和bable实现实时编译ES6代码
这篇文章最初发表在我自己折腾的博客站点上:使用gulp和bable实现实时编译ES6代码,该博客用了一位前辈开源的源码,基于thinkjs和vuejs开发,欢迎大家来逛逛. 问题描述> 项目开发 ...
- 第210天:node、nvm、npm和gulp的安装和使用详解
一.node 1.什么是node? 它不是JS文件,也不是JS框架,而是Server side JavaScript runtime,当服务端的一个JS文件运行时,会被NODE拦截,在NODE中运行J ...
- 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用
原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ...
随机推荐
- Mesos和Docker的集成
摘要: 众所周知,Mesos全面支持Docker.但是这意味着什么呢?在命令行里运行docker run...就可以使用Docker了.还需要做什么?让我们一起研究下Mesos的高级特性——和Dock ...
- mui---获取设备的网络状态
在用mui做音乐或视频播放器的时候,往往会考虑当前音乐+视频的播放环境.例如是4G ,WIFI,无网络,给出特定的提示: 具体做法:根据 getCurrentType来进行获取当前网络的类型: plu ...
- html5与css 1. web标准及组成
学习目标 1.本专业介绍.HTML相关概念,HTML发展历史 2.WEB标准,W3C/WHATWG/ECMA相关概念 3.相关软件的应用以及站点的创建 4.HTML基本结构和HTML语法 5.HTML ...
- 大臣的旅费---树的直径(dfs)
很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者 ...
- git 实战
1.网站手动创建新分支 2.在master下 项目路径下 右键 Git branch here 3.切分支: git fetch git branch -a git branch -r git che ...
- Codeforces 584E - Anton and Ira - [贪心]
题目链接:https://codeforces.com/contest/584/problem/E 题意: 给两个 $1 \sim n$ 的排列 $p,s$,交换 $p_i,p_j$ 两个元素需要花费 ...
- day19:常用模块(collections,time,random,os,sys)
1,正则复习,re.S,这个在用的最多,re.M多行模式,这个主要改变^和$的行为,每一行都是新串开头,每个回车都是结尾.re.L 在Windows和linux里面对一些特殊字符有不一样的识别,re. ...
- Web开发——jQuery基础
参考: 参考W3School:jQuery 教程 参考:jQuery 参考手册 参考(常用):jQuery API 测试 JavaScript 框架库 - jQuery 测试 JavaScript 框 ...
- python中的装包与拆包
python中的装包与拆包 *args和 **kwargs是在python的代码中经常用到的两个参数,初学者对这两个参数的理解可能仅仅限于*args是用于接收多余的未命名参数,**kwargs用于接收 ...
- std::function
参考资料 • cplusplus.com:http://www.cplusplus.com/reference/functional/function/ • cppreference.com:http ...