Node-Babel-Gulp 随笔

Node-Babel-Gulp 随笔



一. Node(npm) 安装

    Node 下载地址: 官网http://www.nodejs.org/download/、  (选择对应的系统版本)下载完成后,直接点击安装。

    安装完成后,npm包管理工具已随同Node一起安装。

    打开命令控制台 (运行-> cmd), 输入node -v 查看安装的Node版本,输入npm -v 查看安装的npm版本。

    


二. babel 之ES6编译模块babel安装

     1. 创建项目文件

       如下项目结构图(打勾文件为自定义文件夹):

      

        ES6_src : 为ES6源码文件夹

        ES5_lib:  ES6转码后输出的对应ES5文件夹



      2. 通过npm包管理工具安装插件babel-*

      (1)将当前路径定位到cd  D:\ES6TOES5

      (2)通过命令行安装插件

        安装插件依次为:

        npm install babel-cli -g   全局安装:命令行转码工具

        npm install --save-dev babel-core  如果某些代码需要调用Babel 的API进行转码,需要使用该模块

        npm install --save-dev babel-preset-es2015   ES2015转码规则


      (3). 通过 babel --help 查看是否安装成功

      

     

     (4). 在项目目录根目录下创建配置文件 ' .babelrc ’

        注:改配置文件可可指定需要使用的插件

        如:{“presets”: ["es2015"]}


     (5)创建ES6.js 并通过命令编译生成ES5文件

        es6.js : let  es6var = [1,2,3]

       命令行中输入如下命令:

      ES6_src -d ES5_lib    或者     ES6_src --out-dir ES5_lib

      回车后将在ES5_lib 中看到对应的es6.js 编译后端es5语法文件

     

     (6)实时监控ES6_src 中的es6.js (修改,创建,删除)变化,并实时编译输出到ES5_lib中

      在命令行中输入如下命令:

  babel ES6_src --watch -d ES5_lib   或者   babel ES6_src -w -d ES5_lib



三. Gulp  任务自动管理工具

    Gulp:基于管道(pipe)思想,通过Gulp 允许用户创建任务,定制任务,监视文件及任务并输出相应操作。Gulp工具非常强大,

             可以通过gulp安装需要的插件(如:js/css 文件合并,压缩,编译等等)

    1. 安装 Gulp

     Gulp 需要全局安装,然后再在项目开发目录中安装为本地模块。在项目目录中运行如下命令:

     npm install -g gulp

     npm install --save-dev gulp   (--save-dev: 用来更新package.json, 更新devDependencise 值,以表明项目需要依赖gulp)


     推荐安装的插件模块:

     1)gulp-babel  ES6编译->ES5使用

     2)gulp-plumber   任务出错中断,修复后自动重传插件

     3)gulp-replace   文件内字符串替换插件

     4)gulp-uglify      Js文件压缩插件

     5)gulp-concat   Js文件合并插件

     6)gulp-load-plugins  通过项目目录下的自定义package.json配置文件,一次读取需要加载的如上模块。

        这里附上我的测试package.json配置文件(网上可以找到标准的配置):

        {
        "devDependencies": {
        "babel-preset-es2015": "^6.13.2",
        "gulp": "^3.9.1",
        "gulp-babel": "^6.1.2",
        "gulp-load-plugins": "^1.2.4",
        "gulp-plumber": "^1.1.0",
        "gulp-replace": "^0.5.4"
      }
    }


     2. gulpfile.js 创建与配置

      gulpfile.js 为 gulp 的配置文件。该文件可配置在项目根目录下。该配置文件可通过js语法编写任务及监视等自动管理服务

     这里给出一份我的测试文件:

    

    

  3. gulp 模块的主要方法简介

    (1) src()

       gulp 模块的src方法,用于产生数据流。它的参数表示所要处理的文件,这些指定的文件会转换成数据流。

      参数形式:

     1)js/app.js   指定确切的文件名

     2)js/*.js        某个目录所有后缀名为js的文件

     3)js/**/*.js   某个目录及其所有子目录中的所有后缀为js的文件

     4)!js/app.js   除了 js/app.js以外的所有文件

     5)*.+(js css)  匹配项目根目录下,偶有后缀名为js或css的文件

     6) src 方法参数可以是一个数组


    (2)dest()

     dest方法将管道的输出写入文件,同时将这些输出继续输出,所以可以依次调用多次dest方法。将输出写入多个目录。如果有目录不存在,将会被新建。

     1)dest方法还可以接受第二个参数,表示配置对象


     (3)task()

       task 方法用于定义具体的任务。他的第一个参数时任务名,第二个参数时任务函数。

       1) task 方法还可以指定按顺序运行的一组任务;

       2)如果希望各个任务严格按次序运行,可以把前一个任务携程后一个任务的依赖模块;

      3)如果一个任务的名字为default, 就标明它是“默认任务”,在命令行直接输入gulp命令,就会运行改任务。


     (4)watch()

       watch 方法用于指定需要监视的文件。一旦文件发生变动,就运行指定任务。

      1) watch方法回调函数事件属性:event.type,  event.path;

      2)   watch方法监控文件的变化(修改,增加,删除文件),会触发cahnge事件;

           如:gulp.watch(' ', ['build']).on('change', function(event){console.log(event.type)})

      3)   watch 其它可触发事件:

          end:  回调函数运行完毕时触发

          error: 发生错误是触发

          ready: 当开始监听时触发

          nomatch:  没有匹配到监听文件是触发; 

      4)  watcher = gulp.watch('',['  ']);

           watcher对象包含的以一些其它方法:

          watcher.end(): 停止watcher对象。不会再调用任务或者回调函数;

          watcher.files(): 返回watcher对象监视的文件;

          watcher.add(glob):  增加所需监视的文件,他可附件第二个参数,表示回调函数;

         watcher.remove(filepath): 从watcher对象中移走一个监视的文件;




    最后这里附上测试项目目录图:

   

       

   开启命令监视目录并修改监视文件命令:

   



推荐文章:


       利用Gulp配置前端项目自动化工具流

       前端构建工具gulp入门教程

       Gulp:任务自动管理工具

       babel安装

       ES6学习之Babel的正确安装姿势

       ES6之Babel的各种坑总结



          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值