前端构建工具gulp

1、安装Node
首先,最基本也最重要的是,我们需要搭建node环境。访问 http://nodejs.org ,然后点击大大的绿色的 install 按钮,下载完成后直接运行程序,就一切准备就绪。 npm 会随着安装包一起安装,稍后会用到它。

安装完:
node -v
npm -v
可以查看node的版本,和node版本安装工具的版本。

2、安装gulp
cd切换到项目目录:
npm install -g gulp
-g表示在全局环境安装,以便任何项目都能使用它。
安装完gulp后
gulp -v
查看是否能正常显示版本号。

3、安装所需扩展
在项目目录下放package.json
 
 
  1. {
  2. "name": "cf",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1"
  8. },
  9. "author": "",
  10. "license": "ISC",
  11. "devDependencies": {
  12. "del": "^2.2.2",
  13. "gulp": "^3.9.1",
  14. "gulp-amd-optimize": "^0.4.3",
  15. "gulp-autoprefixer": "^3.1.1",
  16. "gulp-clean-css": "^2.0.13",
  17. "gulp-concat": "^2.6.0",
  18. "gulp-css-spritesmith": "0.0.5",
  19. "gulp-imagemin": "^3.0.3",
  20. "gulp-jshint": "^2.0.1",
  21. "gulp-livereload": "^3.8.1",
  22. "gulp-notify": "^2.2.0",
  23. "gulp-rename": "^1.2.2",
  24. "gulp-ruby-sass": "^2.1.0",
  25. "gulp-uglify": "^2.0.0",
  26. "gulp.spritesmith": "^6.2.1",
  27. "jshint": "^2.9.4"
  28. }
  29. }
包可以根据自己需要选择性修改。
npm install运行,自动安装package.json中的扩展。

4、新建Gulpfile文件,运行gulp
 
 
  1. var gulp = require('gulp'),
  2. jshint = require('gulp-jshint'),
  3. uglify = require('gulp-uglify'),
  4. concat = require('gulp-concat'),
  5. rename = require('gulp-rename'),
  6. notify = require('gulp-notify'),
  7. amdOptimize = require('gulp-amd-optimize'),
  8. minifycss = require('gulp-clean-css'),
  9. imagemin = require('gulp-imagemin'),
  10. autoprefixer = require('gulp-autoprefixer'),
  11. sass = require('gulp-ruby-sass'),
  12. spritesmith = require('gulp.spritesmith'),
  13. cssSprite = require('gulp-css-spritesmith'),
  14. livereload = require('gulp-livereload'),
  15. del = require('del');
  16.  
  17. //清理文件
  18. gulp.task('clean', function(cb) {
  19. del(['dist'], cb);
  20. });
  21.  
  22. //处理css文件,合并压缩
  23. gulp.task('css',function(){
  24. return gulp.src( ['css/*.css'])
  25. .pipe(autoprefixer({
  26. borwsers: ['last 2 versions'," > 5% "]
  27. }))
  28. .pipe(concat('main.css'))
  29. .pipe(gulp.dest('dist/css'))
  30. .pipe(rename({suffix: '.min'}))
  31. .pipe(minifycss())
  32. .pipe(gulp.dest('dist/css'))
  33. .pipe(notify({ message: 'Css task complete' }));
  34. });
  35.  
  36. gulp.task('cfjs-chat', function() {
  37. return gulp.src(['js/socket.io.js','js/json2.js','js/face.js','js/chat.js'])
  38. .pipe(jshint('.jshintrc'))
  39. .pipe(jshint.reporter('default'))
  40. //.pipe(amdOptimize( 'main'))
  41. .pipe(concat('cf-chat.js'))
  42. .pipe(gulp.dest('dist/js'))
  43. .pipe(rename('cf-chat.min.js'))
  44. .pipe(uglify())
  45. .pipe(gulp.dest('dist/js'))
  46. .pipe(uglify())
  47. .pipe(notify({ message: 'Scripts task complete' }));
  48. });
  49.  
  50. //合并压缩JS文件
  51. gulp.task('scripts',['js'],function(){
  52. return gulp.src('js/util/*.js')
  53. .pipe(uglify())
  54. .pipe(gulp.dest('dist/js/util'))
  55. });
  56.  
  57. //压缩图片
  58. gulp.task('img',function () {
  59. gulp.src('images/min/*')
  60. .pipe(imagemin({
  61. progressive: true
  62. }))
  63. .pipe(gulp.dest('dist/img'))
  64. .pipe(notify({ message: 'Images task complete' }));
  65. });
  66.  
  67. //css精灵
  68. gulp.task('sprite',function ( cb ) {
  69. var spriteData = gulp.src('dist/img/*.png').pipe(spritesmith({
  70. imgName: 'sprite.png',
  71. cssName: 'sprite.css',
  72. padding: 2
  73. }));
  74. return spriteData.pipe(gulp.dest('sprite'));
  75. });
  76.  
  77. //文件监控
  78. gulp.task( 'watch',function(){
  79. gulp.watch( 'css/**/*.*',[ 'css' ] );
  80. gulp.watch( 'js/**/*.*',[ 'scripts' ] );
  81. });

有需要要完整gulpfile.js的可以留言。不过这些都是比较老的技术了,现在流行的是:webpack。

更多请支持:http://www.webyang.net/Html/web/article_282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值