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 ...
随机推荐
- linux Ubuntu系统安装百度aip
1.下载百度api pip install baidu-aip 2.配置视频转码工具ffmpeg Ubuntu16.04下安装FFmpeg(超简单版) 第一步:添加源. sudo add-apt-re ...
- 发送消息-配置app_id
$user_id = $curr_workitem["creater_id"]; $user_name = g('dao_user') -> get_by_id($user_ ...
- 理解vue之element-ui中的 <template slot-scope="scope">
https://blog.csdn.net/tg928600774/article/details/81945140?utm_source=blogxgwz1
- Vue2学习笔记:计算属性(computed)
参考:https://www.cnblogs.com/zycbloger/p/6428907.html
- php数组函数大全
一.数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如 ...
- python语法_终止循环_break_continue
break 终止整个循环计算 continue 终止本次循环,continue前的代码执行,continue后的代码不执行,下次循环继续.
- 个人小爱好:Operating System: three easy pieces—第6章第3小节问题2#进程间的切换
问题2#:进程间的切换 直接执行的下一个问题是如何实现进程的切换.进程的切换按理说是挺简单的,对吧?不就是决定哪一个进程应该停止,哪一进程应该开始而已,才多大点事情啊?但,事实上这还真的有点棘手:尤其 ...
- Linux 中如何用源代码安装软件,以及如何卸载它
https://www.linuxidc.com/Linux/2017-12/149839.htm http://www.openssh.com/ http://www.openssh.com/por ...
- STL库学习笔记(待补充QAQ
几百年前就说要学STL了然后现在还没动呢QAQ总算还是克服了懒癌决定学下QAQ 首先港下有哪几个vector listset map stack queue,大概就这些? 然后因为有几个基本操作每个都 ...
- File 文件
1 File 概述 文件:file目录:directory路径:path File类静态成员变量: pathSeparator:与系统有关的路径分隔符,为了方便,它被表示为一个字符串separator ...