全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

gulp教程_从入门到项目中快速上手使用方法

gulp是什么?

gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”

一、安装gulp与压缩js文件

命令:

npm install gulp -g

npm install gulp --save-dev

初始化项目package.json的配置:npm init --yes

创建项目的目录结构

 demo2
 -----dist
 -----src
     -css
     -img
     -js
 -----gulpfile.js
 -----package.json

在js目录下新建文件( lib.js )

 var Oper = {
   add : function( n1, n2 ){
     return n1 + n2;
   },
   sbb : function( n1, n2 ){
     return n1 - n2;
   }
 }

安装压缩js的插件: npm install gulp-uglify --save-dev,

然后在gulpfile.js中,输入任务处理代码

 var gulp = require( 'gulp' );
 var uglify = require( 'gulp-uglify' );
 
 gulp.task('min-js', function() {
   gulp.src('src/js/*.js')
     .pipe( uglify() )
     .pipe( gulp.dest('dist/js') );
 });

gulp.task(name, fn) - 定义任务,第一个参数是任务名,第二个参数是任务内容。

gulp.src(path) - 选择文件,传入参数是文件路径。

gulp.dest(path) - 输出文件

gulp.pipe() - 管道,你可以暂时将 pipe 理解为将操作加入执行队列

在命令行执行任务: gulp min-js

就会在 dist/js/lib.js 生成压缩文件

var Oper={add:function(n,r){return n+r},sbb:function(n,r){return n-r}};

在demo2目录下创建index.html,输入以下测试代码

 <script src="./dist/js/lib.js"></script>
   <script>
     alert( Oper.add( 100, 200 ) );
   </script>

发现压缩好的lib.js文件是可以正常使用的

二、压缩css文件

安装插件: npm install gulp-clean-css --save-dev

demo2/src/css下新建文件style.css

html,body {
  margin:0;
  padding:0;
}
li {
  list-style-type:none;
}
a{
  text-decoration: none;
  color:#666;
}

在gulpfile.js文件中添加压缩css的任务

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

然后在命令行执行gulp min-css任务 就会在dist/css生成style.css压缩文件

 body,html{margin:0;padding:0}li{list-style-type:none}a{text-decoration:none;color:#666}

三、编译less文件

安装插件:npm install gulp-less --save-dev

在src/css下面新建style.less文件

@c1 : green;
@c2 : red;
div {
  width:200px;
  height:200px;
  background:@c1;
  div {
    background:@c2;
    transition:all ease 1s;
  }
}

gulpfile.js中添加任务:

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );
var less = require('gulp-less');

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

gulp.task( 'compile-less', function(){
  gulp.src( 'src/css/*.less' )
    .pipe( less() )
    .pipe( gulp.dest( 'dist/less' ) );
} );

执行任务: gulp compile-less,在dist/less中生成style.css文件

 div {
  width: 200px;
  height: 200px;
  background: green;
 }
 div div {
  background: red;
  transition: all ease 1s;
 }

四、合并js文件

安装插件:npm install gulp-concat --save-dev

demo2/src/js新建lib2.js文件:

 function $( id ){
   return document.getElementById( id );
 }

在gulpfile.js中新增任务:

var gulp = require( 'gulp' );
var uglify = require( 'gulp-uglify' );
var cleanCSS = require( 'gulp-clean-css' );
var less = require('gulp-less');
var concat = require('gulp-concat');

gulp.task('min-js', function() {
  gulp.src('src/js/*.js')
    .pipe( uglify() )
    .pipe( gulp.dest('dist/js') );
});

gulp.task( 'concat-file', function(){
  gulp.src( 'src/js/*.js' )
    .pipe( concat('all.min.js') )
    .pipe( uglify() )
    .pipe( gulp.dest( 'dist/js' ) );
} );

gulp.task('min-css', function() {
  gulp.src('src/css/*.css')
    .pipe( cleanCSS() )
    .pipe( gulp.dest('dist/css') );
});

gulp.task( 'compile-less', function(){
  gulp.src( 'src/css/*.less' )
    .pipe( less() )
    .pipe( gulp.dest( 'dist/less' ) );
} );

执行任务:gulp concat-file

在dist/js下面生成all.min.js文件

 function $(n){return document.getElementById(n)}var Oper={add:function(n,t){return n+t},sbb:function(n,t){return n-t}};

五、自动监测文件变化,执行任务

 gulp.task( 'auto', function(){
   gulp.watch( 'src/js/*.js', ['min-js'] );
   gulp.watch( 'src/css/*.css', ['min-css'] );
 } );
 gulp.task( 'default', ['auto'] );

这里添加了一个默认任务default: 执行auto任务,auto里面自动监测压缩js和压缩css任务

在命令行直接执行gulp.

要执行其他任务,只需要按照这几步就可以了:

1,安装相应的插件

2,添加相应的任务

3,执行任务

以上这篇gulp教程_从入门到项目中快速上手使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# gulp项目  # 简单谈谈gulp-changed插件  # nodejs实现简单的gulp打包  # gulp安装以及打包合并的方法教程  # JS中使用gulp实现压缩文件及浏览器热加载功能  # 前端构建工具之gulp的配置与搭建详解  # 写gulp遇到的ES6问题详解  # 命令行  # 会在  # 给大家  # 压缩文件  # 目录下  # 你可以  # 是有  # 第一个  # 中有  # 希望能  # 第二个  # 只需要  # 正常使用  # 几步  # 这篇  # 小编  # 大家多多  # 就可以  # 是基于  # require 


相关文章: 如何在Windows服务器上快速搭建网站?  建站之星如何实现PC+手机+微信网站五合一建站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何通过万网虚拟主机快速搭建网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站之星安装需要哪些步骤及注意事项?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何快速选择适合个人网站的云服务器配置?  济南专业网站制作公司,济南信息工程学校怎么样?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  建站之星各版本价格是多少?  如何快速搭建支持数据库操作的智能建站平台?  如何在建站之星网店版论坛获取技术支持?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  浅析上传头像示例及其注意事项  建站之星展会模板:智能建站与自助搭建高效解决方案  制作网站怎么制作,*游戏网站怎么搭建?  建站之星代理平台如何选择最佳方案?  如何通过虚拟主机快速完成网站搭建?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何批量查询域名的建站时间记录?  如何快速生成高效建站系统源代码?  如何用好域名打造高点击率的自主建站?  在线制作视频的网站有哪些,电脑如何制作视频短片?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  微信小程序 五星评分(包括半颗星评分)实例代码  用v-html解决Vue.js渲染中html标签不被解析的问题  如何高效利用200m空间完成建站?  如何选择高效稳定的ISP建站解决方案?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站之星备案流程有哪些注意事项?  在线制作视频网站免费,都有哪些好的动漫网站?  制作网站的模板软件,网站怎么建设?  如何快速打造个性化非模板自助建站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何快速重置建站主机并恢复默认配置?  如何在西部数码注册域名并快速搭建网站?  网站网页制作专业公司,怎样制作自己的网页?  代刷网站制作软件,别人代刷火车票靠谱吗?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何注册花生壳免费域名并搭建个人网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何获取PHP WAP自助建站系统源码?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  建站之星如何修改网站生成路径?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。