初步接触gulp

          首先是安装nodejs,经过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所须要的gulp插件,而后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后经过命令提示符运行gulp任务javascript

          1.安装node.js:https://nodejs.org/en/,再安装淘宝镜像,cnpm:npm install -g cnpm --registry=https://registry.npm.taobao.orgcss

          2.安装:命令提示符执行cnpm install gulp -ghtml

          3.本地安装:cnpm install gulp-less --save-dev                 cnpm install gulp --save-devjava

             咱们全局安装了gulp,项目也安装了gulp,全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能(反正不安装会报错)node

          4.新建package.json文件,能够手工创建,也能够在控制台输入npm init   而后根据提示填完信息,会自动在该目录下生成一个package.json文件       python

          6.继续在控制台安装所需的插件,如:npm install gulp-imagemin --save -dev //图片压缩插件npm

          7.在项目根目录中新建gulpfile.js文件,而后往里面写入执行代码json

          

var gulp = require('gulp'); //获取gulp
var browsersync = require('browser-sync').create();//获取browsersynvar

htmlmin = require('gulp-htmlmin'); //require()的做用感受和python中的import相同,之后再研究

 

gulp.task('html', function() { //gulp.task定义任务,这里的html是任务名称,之后调用的时候能够用上,function()是任务要执行的代码,中间还有一个参数,是当前定义的任务须要依赖的其余任务,为一个数组。当前定义的任务会在全部依赖的任务执行完毕后才开始执行。若是没有依赖,则可省略这个参数


    gulp.src('*.html')                     //gulp.src  获取流,一个虚拟文件对象流           
        .pipe(htmlmin({
            collapseWhitespace: true,            //压缩html
            collapseBooleanAttributes: true,     //省略布尔属性的值
            removeComments: true,                //清除html注释
            removeEmptyAttributes: true,         //删除全部空格做为属性值
            removeScriptTypeAttributes: true,    //删除type=text/javascript
            removeStyleLinkTypeAttributes: true, //删除type=text/css
            minifyJS:true,                       //压缩页面js
            minifyCSS:true                       //压缩页面css
        }))
        .pipe(gulp.dest('dist'))
        .pipe(browsersync.stream());
});
    
gulp.task('serve', ['clean'], function() {gulp.start('scripts','style','image','html');
    browsersync.init({
        port: 2016,
        server: {
            baseDir: ['dist']
 }

gulp.watch('*.html', ['html']);       //gulp.watch用来监视文件的变化,当文件发生变化后,咱们能够利用它来执行相应的任务,第一个参数是监视的对象,最后一个是任务名称,是个数组

  

     8.作完上面的步骤以后,能够运行了,学到了一招快速切换到项目目录的方法,不用cd。。。只要在目录空白处同时点击shift和鼠标右键,而后选择“在此处打开命令窗口”,就达到目的了,而后输入gulp,正常的话,能够在谷歌浏览器打开gulp

         

         

         9.而后尝试修改html文件,发现控制台有监控到文件变化,可是浏览器确没有自动刷新,好纳闷地又看了一遍代码,代码是copy下来的,半懂不懂数组

         10.略失望,最后百度了下,找到了缘由,加上完整的结构以后能够了,收工,哈哈,接下来要继续学习才行,真是太爱自动刷新这个功能了。

相关文章
相关标签/搜索