babel基本使用詳解
什么是babel?
babel是一個(gè)強(qiáng)大的多用途js編譯器 點(diǎn)擊進(jìn)入官網(wǎng)
安裝babel
npm install -g babel-cli npm install --save-dev babel-cli
babel配置文件
通過.babelrc來表示
{
"presets" : [ ],
"plugins" : [ ]
}
presets用來存放一些預(yù)設(shè)
plugins用來存放一些插件
命令行的簡(jiǎn)單使用
我們可以通過 -o (--out-file) 參數(shù)來編譯一個(gè)文件
babel es6.js -o es5.js / babel es6 --out-file es5.js
如果我們想編譯整個(gè)目錄 -d (--out-dir)參數(shù)
babel src -d build / babel src --out-dir build
預(yù)設(shè)
現(xiàn)在有一段es6的代碼,我們想要使用babel來編譯這段代碼, 目前來說通過編譯后的代碼幾乎是原封不動(dòng)的復(fù)制了過來
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"]
}
這樣我們就可以進(jìn)行對(duì)es2015語法解析了。最后通過配置package.json的scripts
"scripts": {
"build" : "babel src -d build -w"
}
接下來直接在命令行
npm run build
插件
在babel中有很多很多的插件, 例如我們要將下面一段代碼轉(zhuǎn)換成umd的形式,該如何做呢?
var add = (a,b) =>{
console.log(a+b)
}
add(1,2)
首先找到對(duì)應(yīng)的插件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可以單獨(dú)使用, 也可以配合構(gòu)建工具(gulp webpack等)進(jìn)行結(jié)合
首先要下載gulp 和gulp對(duì)應(yīng)的babel插件
npm install gulp gulp-babel --save-dev
創(chuàng)建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"
}
最后執(zhí)行命令
npm run dev
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
徹底搞懂JavaScript中的apply和call方法(必看)
下面小編就為大家?guī)硪黄獜氐赘愣甁avaScript中的apply和call方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
bootstrapValidator 重新啟用提交按鈕的方法
bootstrapValidator 使用中,由于字段檢查等原因,致使提交按鈕失效。如何重新啟用提交按鈕呢?下面小編給大家介紹下bootstrapValidator 重新啟用提交按鈕的方法,需要的朋友可以參考下2017-02-02
layui 實(shí)現(xiàn)自動(dòng)選擇radio單選框(checked)的方法
今天小編就為大家分享一篇layui 實(shí)現(xiàn)自動(dòng)選擇radio單選框(checked)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript獲得CheckBoxList選中的數(shù)量
javascript獲得CheckBoxList選中的數(shù)量(jQuery與Javascript對(duì)照學(xué)習(xí)/前臺(tái)與后臺(tái))2009-10-10
JavaScript String 對(duì)象常用方法總結(jié)
下面小編就為大家?guī)硪黄狫avaScript String 對(duì)象常用方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-04-04
JS實(shí)現(xiàn)選定指定HTML元素對(duì)象中指定文本內(nèi)容功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)選定指定HTML元素對(duì)象中指定文本內(nèi)容功能,涉及javascript針對(duì)HTML頁面元素的運(yùn)算與選定相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
常用的Javascript設(shè)計(jì)模式小結(jié)
javascript設(shè)計(jì)模式有很多種,本文給大家介紹常用的javascript設(shè)計(jì)模式,對(duì)javascript設(shè)計(jì)模式相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12

