babel基本使用详解

网友投稿 236 2023-06-13


babel基本使用详解

什么是babel?

babel是一个强大的多用途js编译器 点击进入官网

安装babel

npm install -g babel-cli

npm install --save-dev babel-cli

babel配置文件

通过.babelrc来表示

{

"presets" : [ ],

"plugins" : [ ]

}

presets用来存放一些预设

plugins用来存放一些插件

命令行的简单使用

我们可以通过 -o (--out-file) 参数来编译一个文件

babel es6.js -o es5.js / babel es6 --out-file es5.js

如果我们想编译整个目录 -d (--out-dir)参数

babel  src -d build / babel  src --out-dir build

预设

现在有一段es6的代码,我们想要使用babel来编译这段代码, 目前来说通过编译后的代码几乎是原封不动的复制了过来

es6.js

var add = (a,b) =>{

console.log(a+b)

}

add(1,2)

我们可以安装babel-preset-es2015来解析es2015的语法

npm install --save-dev babel-preset-es2015

然后通过配置.babelrc文件

{

"presets": ["es2015"]

}

这样我们就可以进行对es2015语法解析了。最后通过配置package.json的scripts

"scripts": {

"build" : "babel src -d build -w"

}

接下来直接在命令行

npm run build

插件

在babel中有很多很多的插件, 例如我们要将下面一段代码转换成umd的形式,该如何做呢?

var add = (a,b) =>{

console.log(a+b)

}

add(1,2)

首先找到对应的插件babel-plugin-transform-es2015-modules-umd,安装该插件

npm install --save-dev babel-plugin-transform-es2015-modules-umd

在配置中引入

{

"presets":["es2015"],

"plugins":["transform-es2015-modules-umd"]

}

然后编译后就是我们想要的了

(function (global, factory) {

if (typeof define === "function" && define.amd) {

define(["module", "exports"], factory);

} else if (typeof exports !== "undefined") {

factory(module, exports);

} else {

var mod = {

exports: {}

};

factory(mod, mod.exports);

global.sum = mod.exports;

}

})(this, function (module, exports) {

"use strict";

Object.defineProperty(exports, "__esModule", {

value: true

});

var sum = function sum(a, b) {

return a + b;

};

exports.default = sum;

module.exports = exports["default"];

});

集成gulp

babel可以单独使用, 也可以配合构建工具(gulp webpack等)进行结合

首先要下载gulp 和gulp对应的babel插件

npm install gulp gulp-babel --save-dev

创建gulp配置gulpfile.js

const gulp = require('gulp')

const babel = require('gulp-babel')

gulp.task('babel', ()=>{

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

.pipe(babel())

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

})

gulp.task('default' , ['babel'])

配置下package.json中的scripts

"scripts": {

"dev" : "./node_modules/.bin/gulp"

}

最后执行命令

npm run dev


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java 中 request.getSession(true、false、null)的区别
下一篇:mybatis框架入门学习教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~