美文网首页
gulp_安装和使用

gulp_安装和使用

作者: C_Y大渔 | 来源:发表于2016-12-12 13:53 被阅读0次

             gulp前端构建工具,其功能和grunt一样但运行起来比grunt快。gulp和grunt的区别是,gulp书写方式跟nodejs相同,操作的是二进制流,而grunt书写方式一个json又一个json,相对会慢一些。

    下面具体讲gulp的安装和使用;

    1、首先确保你已经正确安装了nodejs环境。然后以全局方式安装gulp:

    npm install  -global  gulp-cli                                                                                                    sudo npm install -global gulp-cli

    注意:sudo是以管理员身份执行命令,一般会要求输入电脑密码

    2、安装完成后,你可以使用下面的命令查看gulp的版本号以确保gulp已经被正确安装。

    gulp -v

    3、全局安装gulp后,还需要在每个要使用gulp的项目中都单独安装一次。把目录切换到你的项目文件夹中,然后在命令行中执行

    cd                                                                                                                                            npm install --save-dev gulp

    注意:① 、--save-dev 来更新package.json文件中“devDependencies”值;②、mac如果不知道如何把目录切换到你的项目文件夹时,可以将把文件拖到命令窗口中(会自动生成路径)

    4、首先,我们自己需要弄清楚项目需要哪些任务。根据项目需求安装需要的模块

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

    注意:如果以上命令提示权限错误,需要添加 sudo 再次尝试。

    5、建立gulpfile.js文件,放到你的项目目录中。然后在gulpfile.js文件中定义我们的任务了。下面是一个最简单的gulpfile.js文件内容示例;

    // 引入 gulp

    var gulp = require('gulp');

    // 引入组件

    var jshint = require('gulp-jshint');  //用来检查js代码

    var sass = require('gulp-sass');

    var concat = require('gulp-concat');   //合并文件

    var uglify = require('gulp-uglify');

    var rename = require('gulp-rename');

    // 检查脚本

    gulp.task('uglify:js',function(){

           gulp.src('src/js/*.js')

          .pipe(uglify())

          .pipe(concat('main.min.js'))

          .pipe(gulp.dest('build/js'))

    });

    gulp.task('uglify:img',function(){

           gulp.src('src/img/*.gif')

          .pipe(imagemin())

          .pipe(gulp.dest('build/img'))

    });

    gulp.task('uglify:html',function(){

            gulp.src('src/new.html')

           .pipe(htmlmin({  collapseWhitespace:true  }))

           .pipe(gulp.dest('build/new.html'))

    });

    // 编译Sass

    gulp.task('sass', function() {

              gulp.src('./scss/*.scss')

              .pipe(sass())

             .pipe(gulp.dest('./css'));

    });

    // 合并,压缩文件

    gulp.task('scripts', function() {

              gulp.src('./js/*.js')

             .pipe(concat('all.js'))

             .pipe(gulp.dest('./dist'))

             .pipe(rename('all.min.js'))

             .pipe(uglify())

              .pipe(gulp.dest('./dist'));

    });

    // 监听文件变化

    gulp.watch('src/new.html',['uglify:html']);

    gulp.watch('./js/*.js', function(){gulp.run('lint', 'sass', 'scripts');});

    //注册默认任务

    gulp.task('default',['uglify:css','uglify:js','uglify:img','uglify:html']);

    注意:gulp只有五个方法: task , run , watch , src ,和 dest


    gulp     官网:http://gulpjs.com/         

     插件:http://gulpjs.com/plugins

    相关文章

      网友评论

          本文标题:gulp_安装和使用

          本文链接:https://www.haomeiwen.com/subject/qcwapttx.html