什么是babel?
為碭山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及碭山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站設(shè)計(jì)、碭山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
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用來存放一些插件
命令行的簡單使用
我們可以通過 -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來編譯這段代碼, 目前來說通過編譯后的代碼幾乎是原封不動的復(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)行對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)
首先找到對應(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對應(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)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持創(chuàng)新互聯(lián)!