国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

babel基本使用詳解

2019-11-19 17:31:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

什么是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配置文件

通過(guò).babelrc來(lái)表示

{ "presets" : [ ], "plugins" : [ ]}

presets用來(lái)存放一些預(yù)設(shè)

plugins用來(lái)存放一些插件 

命令行的簡(jiǎn)單使用

我們可以通過(guò) -o (--out-file) 參數(shù)來(lái)編譯一個(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來(lái)編譯這段代碼, 目前來(lái)說(shuō)通過(guò)編譯后的代碼幾乎是原封不動(dòng)的復(fù)制了過(guò)來(lái)

es6.js

var add = (a,b) =>{ console.log(a+b)}add(1,2)

我們可以安裝babel-preset-es2015來(lái)解析es2015的語(yǔ)法

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

然后通過(guò)配置.babelrc文件

{ "presets": ["es2015"]}

這樣我們就可以進(jìn)行對(duì)es2015語(yǔ)法解析了。最后通過(guò)配置package.json的scripts

"scripts": { "build" : "babel src -d build -w" }

接下來(lái)直接在命令行

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

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持武林網(wǎng)!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湟源县| 望城县| 玉溪市| 太原市| 吉安县| 合山市| 磐安县| 大同县| 大兴区| 枣阳市| 临夏市| 灵丘县| 克山县| 达州市| 泾川县| 饶河县| 丹江口市| 克什克腾旗| 明溪县| 井陉县| 拉孜县| 中超| 渝北区| 郴州市| 阜平县| 璧山县| 安达市| 安多县| 壶关县| 沂南县| 防城港市| 离岛区| 衡东县| 嘉荫县| 莱西市| 福建省| 百色市| 洛阳市| 银川市| 宁城县| 长乐市|