Babel入门

javascript的编译工具,可以把一种形式的js转换成另一种形式的js,如能将es6的js编译成es5的样子。babel支持jsx、jspm、webpack等。

  • 安装babel:npm install babel-cli –save-dev

  • 查看babel帮助信息:babel -help

  • 使用babel处理文件:

    eg1.babel script.js

    script.js为被处理文件【结果将被输出到控制台】

    eg2. babel script.js –out-file script-compiled.js

    script.js为被处理文件 script-compiled.js为处理后的文件【结果存储在script-compiled.js中】【–out-file的简写为 -o】

    eg3.babel src –out-dir lib

    src为源文件夹 lib为目标文件夹【将src中的文件处理后放置lib文件夹下】【–out-dir简写为-d】

    eg4.babel src –watch -d lib

    【–watch表示即使检测改变,则lib中的文件也改变】【–watch应放在命令的最前】

  • 设置npm run的脚本:在package.json中的scripts中写入键值

    eg.”build”:”./node_modules/.bin/babel src –watch -d lib”

    使用命令: npm run build 则会指定对应操作

  • 让babel执行具体内容需要安装对应的插件:

    (1)想让es6中的箭头函数编译成es5的函数,则需要安装babel-plugin-transform-es2015-arrow-functions插件

    (2)babel提供preset(可以理解成相关插件的集合),想要编译es2015的代码,就需要加入es2015的预设:babel-preset-es2015

    (3)处理react项目则需要加入react预设:babel-preset-react

    (4)注意需要在项目根目录下创建.babelrc文件(babel的配置文件),并写入想要使用的预设 :

  ​ {

  ​     "presets":['es2015']

  ​ }
  • react需要用babel将jsx格式代码转换成正常的javascript,需要安装预设:babel-preset-react

  • babel可以与其他的build system放到一起使用,如gulp:

    (1)什么是gulp: Gulp 是基于node.js的一个前端自动化构建工具,开发这可以使用它构建自动化工作流程(前端集成开发环境)。 使用gulp你可以简化工作量,让你把重点放在功能的开发上,从而提高你的开发效率和工作质量。 例如:你可以用gulp可以网页自动刷新,和MVVM开发模式很相似,如果你对vue.js有所了解的话,那么你一定不会陌生。你也可以使用gulp对sass进行预处理、代码检测、图片优化压缩、只需要一个简单的指令就能全部完成。

    (2)使用gulp结合babel:

    • 安装gulp:npm install gulp gulp-babel –save-dev

    • 手动创建gulp配置文件gulpfile.js(在项目根目录下):

    gulpfile.js内容

    var gulp = require(‘gulp’);

    var babel = require(‘gulp-babel’);

    //创建默认任务,任务具体做的事放在第二个参数

    gulp.task(‘default’,()=>{

    ​ return gulp.src(‘src/*.js’) //设置源文件

    ​ .pipe(babel()) //利用babel处理

    ​ .pipe(gulp.dest(‘lib’)) //将处理好的文件放到lib文件夹下

    });

    • 在命令行中输入gulp 即可以将src中的文件用babel编译好放到lib中

    • babel的预设是走的.babelrc文件内容

猜你喜欢

转载自blog.csdn.net/qq_34829447/article/details/81390166