当前位置: 首页 > news >正文

电子商务网站建设与维护总结/口碑营销

电子商务网站建设与维护总结,口碑营销,手机网站开发软件下载,拉了专线可以直接做网站吗gulp常用插件的使用 今天来看看一下gulp的常用插件的使用 就像gruntjs需要一个Gruntfile.js文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfile.js。 在项目根目录下新建文件gulpfile.js文件 目录结构 ├── gulpfile.js ├── …

gulp常用插件的使用

今天来看看一下gulp的常用插件的使用

就像gruntjs需要一个Gruntfile.js文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfile.js。

在项目根目录下新建文件gulpfile.js文件

目录结构

├── gulpfile.js
├── node_modules
│ └── gulp
└── package.json

gulp API介绍

详情查看官方文档
. gulp.task() 用来定义任务
. gulp.src() 需要处理的源文件路径
. gulp.dest() 处理后的发布路径
. gulp.watch() 用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。

用例

gulp.src(globs[, options])
gulp.src(['js/*.js','css/*.css','*.html'])//使用数组的方式来匹配多种文件
gulp.src([*.js,'!b*.js']) //匹配所有js文件,但排除掉以b开头的js文件
gulp.dest(path[,options])
gulp.src('script/avalon/avalon.js') //没有通配符出现的情况.pipe(gulp.dest('dist')); //最后生成的文件路径为 dist/avalon.js//有通配符开始出现的那部分路径为 **/underscore.js
gulp.src('script/**/underscore.js')//假设匹配到的文件为script/util/underscore.js.pipe(gulp.dest('dist')); //则最后生成的文件路径为 dist/util/underscore.jsgulp.src('script/*') //有通配符出现的那部分路径为 *//假设匹配到的文件为script/zepto.js    .pipe(gulp.dest('dist')); //则最后生成的文件路径为 dist/zepto.jsgulp.src(script/lib/*.js) //没有配置base参数,此时默认的base路径为script/lib//假设匹配到的文件为script/lib/jquery.js.pipe(gulp.dest('build')) //生成的文件路径为 build/jquery.jsgulp.src(script/lib/*.js, {base:'script'}) //配置了base参数,此时base路径为script//假设匹配到的文件为script/lib/jquery.js.pipe(gulp.dest('build')) //此时生成的文件路径为 build/lib/jquery.js    
gulp.task(name[, deps], fn)
gulp.task('mytask', ['array', 'of', 'task', 'names'], function() { //定义一个有依赖的任务// Do something
});//只要执行default任务,就相当于把one,two,three这三个任务执行了
gulp.task('default',['one','two','three']);
gulp.task(glob[, opts], tasks)
gulp.task('uglify',function(){//do something
});
gulp.task('reload',function(){//do something
});
gulp.watch('js/**/*.js', ['uglify','reload']);gulp.watch('js/**/*.js', function(event){console.log(event.type); //变化类型 added为新增,deleted为删除,changed为改变 console.log(event.path); //变化的文件的路径
});

参考文章前端构建工具gulpjs的使用介绍及技巧

gulp常用插件

. 编译stylus (gulp-stylus)
. 压缩css (gulp-minify-css)
. 压缩js (gulp-uglify)
. 压缩图片 (gulp-imagemin)
. js检查 (gulp-jshint)
. 文件合并 (gulp-concat)
. 自动刷新 (gulp-livereload) 需要安装谷歌插件LiveReload(2.0.9)
. 文件清理 (gulp-clean)
. 变动监听 (gulp-cache) 只有文件变化了才再次触发任务
. 变动通知 (gulp-notify)
. 文件重命名 (gulp-rename)

gulp的所有插件相关可以在npm官网查询

执行命令安装插件

这里如果出错,或者很久不响应,可以单个单个安装

npm install gulp-stylus gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-clean gulp-notify gulp-rename gulp-livereload gulp-cache --save-dev

引用插件

var gulp = require('gulp'),stylus = require('gulp-stylus'),minifycss = require('gulp-minify-css'),jshint = require('gulp-jshint'),uglify = require('gulp-uglify'),imagemin = require('gulp-imagemin'),rename = require('gulp-rename'),clean = require('gulp-clean'),concat = require('gulp-concat'),notify = require('gulp-notify'),cache = require('gulp-cache'),livereload = require('gulp-livereload');

创建任务

处理css

gulp.task('styles', function() {  return gulp.src('src/styles/main.styl').pipe(stylus({ style: 'expanded' })).pipe(gulp.dest('dist/assets/css')).pipe(rename({suffix: '.min'})).pipe(minifycss()).pipe(gulp.dest('dist/assets/css')).pipe(notify({ message: 'Styles task complete' }));
});

说明:

处理js

gulp.task('scripts', function() {  return gulp.src('src/scripts/**/*.js').pipe(jshint('.jshintrc')).pipe(jshint.reporter('default')).pipe(concat('main.js')).pipe(gulp.dest('dist/assets/js')).pipe(rename({suffix: '.min'})).pipe(uglify()).pipe(gulp.dest('dist/assets/js')).pipe(notify({ message: 'Scripts task complete' }));
});

说明:

处理图片

gulp.task('images', function() {return gulp.src('src/images/**/*').pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))).pipe(gulp.dest('dist/images')).pipe(notify({ message: 'Images task complete' }));
});

说明:

清理

gulp.task('clean', function() {return gulp.src(['dist/styles', 'dist/scripts', 'dist/images'], {read: false}).pipe(clean());
});

说明:

设置默认任务

gulp.task('default', ['clean'], function() {gulp.start('styles', 'scripts', 'images');
});

说明:

监听

gulp.task('watch', function() {// 监听所有.stylgulp.watch('src/styles/**/*.styl', ['styles']);// 监听所有.jsgulp.watch('src/scripts/**/*.js', ['scripts']);// 监听所有图片gulp.watch('src/images/**/*', ['images']);// 建立即时刷新页面var server = livereload();// 监听所有在 dist/  目录下的文件,一旦有更动,便进行刷新gulp.watch(['dist/**']).on('change', function(file) {server.changed(file.path);});});

说明:

完整文件

// 载入外挂
var gulp = require('gulp'),stylus = require('gulp-stylus'),autoprefixer = require('gulp-autoprefixer'),minifycss = require('gulp-minify-css'),jshint = require('gulp-jshint'),uglify = require('gulp-uglify'),imagemin = require('gulp-imagemin'),rename = require('gulp-rename'),clean = require('gulp-clean'),concat = require('gulp-concat'),notify = require('gulp-notify'),cache = require('gulp-cache'),livereload = require('gulp-livereload');// 样式
gulp.task('styles', function() {return gulp.src('src/styles/main.styl').pipe(stylus({ style: 'expanded', })).pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4')).pipe(gulp.dest('dist/styles')).pipe(rename({ suffix: '.min' })).pipe(minifycss()).pipe(gulp.dest('dist/styles')).pipe(notify({ message: 'Styles task complete' }));
});// 脚本
gulp.task('scripts', function() {return gulp.src('src/scripts/**/*.js').pipe(jshint('.jshintrc')).pipe(jshint.reporter('default')).pipe(concat('main.js')).pipe(gulp.dest('dist/scripts')).pipe(rename({ suffix: '.min' })).pipe(uglify()).pipe(gulp.dest('dist/scripts')).pipe(notify({ message: 'Scripts task complete' }));
});// 图片
gulp.task('images', function() {return gulp.src('src/images/**/*').pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))).pipe(gulp.dest('dist/images')).pipe(notify({ message: 'Images task complete' }));
});// 清理
gulp.task('clean', function() {return gulp.src(['dist/styles', 'dist/scripts', 'dist/images'], {read: false}).pipe(clean());
});// 预设任务
gulp.task('default', ['clean'], function() {gulp.start('styles', 'scripts', 'images');
});// 文件变动监听
gulp.task('watch', function() {// 监听所有.stylgulp.watch('src/styles/**/*.styl', ['styles']);// 监听所有.jsgulp.watch('src/scripts/**/*.js', ['scripts']);// 监听所有图片gulp.watch('src/images/**/*', ['images']);// 建立即时刷新页面var server = livereload();// 监听所有在 dist/  目录下的文件,一旦有更动,便进行刷新gulp.watch(['dist/**']).on('change', function(file) {server.changed(file.path);});});

项目DEMO待续...

转载于:https://www.cnblogs.com/lt-style/p/4352028.html

http://www.jmfq.cn/news/5069413.html

相关文章:

  • 龙岗网站建设公司哪家好/网站的seo如何优化
  • wordpress主题+清新/网站排名软件优化
  • wordpress安装空白/快优吧seo优化
  • 网站建设客源开发/网站设计费用明细
  • 做 网站 技术支持 抓获/朝阳区搜索优化seosem
  • 英文网站建设模板下载/网站管理和维护的主要工作有哪些
  • 工厂网站开发/网站制作出名的公司
  • 网站安全的必要性/企业网站营销实现方式
  • 自己如何建设外贸网站建站/seo搜索引擎优化师
  • 网站做快照怎么做/百度快速提交入口
  • 三明市建设局网站/管理系统
  • 博敏网站建设/百度下载免费安装到桌面
  • 北京做兼职网站有哪些/关键词查询工具软件
  • 如何使用二级域名做网站/什么优化
  • 短租网站那家做的好/简述seo的基本步骤
  • python手机版/网站优化效果
  • 网站机房建设解决方案/超级软文网
  • 微信怎么做网站/推荐6个免费国外自媒体平台
  • 临海市建设局网站/关键词搜索引擎优化推广
  • 山西住房建设厅官方网站/济南竞价托管公司
  • 网站推广优化方案/我赢网客服系统
  • 手机免费制作微信小程序/网站seo优化多少钱
  • 太原推广型网站建设/广州seo快速排名
  • 虚拟主机多网站/英文seo外链发布工具
  • 手机网站制作公司/网络营销学什么内容
  • 网站制作公司信科网络/做网站建设优化的公司排名
  • 网站推广如何做/色盲色弱测试
  • 芜湖公司做网站/网上店铺的推广方法有哪些
  • wordpress推荐插件/最专业的seo公司
  • 广州有专做网站/域名信息查询网站