(四)Babel

Babel是一個廣泛使用的轉(zhuǎn)碼器壹店,它可以幫你實(shí)現(xiàn)以下操作:

  • 它可以幫你將(ES6、ES7...)轉(zhuǎn)換為現(xiàn)瀏覽器支持的ES5芝加,這樣你就不用考慮新標(biāo)準(zhǔn)是否被瀏覽器識別了。
  • 讓你能使用基于JavaScript進(jìn)行了拓展的語言,比如React的JSX藏杖。
1. 安裝

Babel其實(shí)是幾個模塊化的包将塑,其核心功能位于稱為babel-core的npm包中,webpack可以把其不同的包整合在一起使用蝌麸,對于每一個你需要的功能或拓展点寥,你都需要安裝單獨(dú)的包(用得最多的是解析Es6的babel-env-preset包和解析JSX的babel-preset-react包)。

npm install --save-dev babel-core
npm install --save-dev babel-preset-env
npm install --save-dev babel-preset-react

安裝的依賴包是不是有點(diǎn)多来吩,需要npm安裝好多遍敢辩,當(dāng)然也不是必須要分開安裝,你完全可以多個依賴包一起安裝弟疆,這里要注意的是:“如果多個依賴包一起安裝那么每個依賴包之間需要用空格隔開”戚长,如下:
npm install --save-dev babel-core babel-preset-env babel-preset-react
本文以webpack文章的demo為例,如果未閱讀上文怠苔,并且想了解完整過程請點(diǎn)擊回到上文

2. 配置

先來看下在webpack.config.js文件中配置如下:

module.exports = {
    ...
    module: { // 這里配置Bobal
        rules: [
            {
                test: /(\.jsx|\.js)$/,
                use: {
                    loader: "babel-loader",
                    options: {
                        presets: [
                            "env", "react"
                        ]
                    }
                },
                exclude: /node_modules/
            }
        ]
    }
}

當(dāng)然這樣配置是完全沒錯的同廉,但是在正式項(xiàng)目中需要在webpack.config.js文件中配置很多項(xiàng)配置,這樣就使得這個文件有特別多配置柑司,從而使得這個配置文件會特別復(fù)雜迫肖,因此為了使這個文件配置變得稍微簡單點(diǎn),一些開發(fā)者支持把babel的配置選項(xiàng)放在一個單獨(dú)的名為 ".babelrc" 的配置文件中攒驰,webpack會自動調(diào)用.babelrc里的babel配置選項(xiàng)蟆湖。
接下來我們在來修改配置文件

第一步 在項(xiàng)目根目錄創(chuàng)建.babelrc如下:

image.png

第二步.babelrc中配置babel

{
  "presets": ["react", "env"]
}

第三步 修改webpack.config.js

module.exports = {
    ...
    module: {
        rules: [
            {
                test: /(\.jsx|\.js)$/,
                use: {
                    loader: "babel-loader",
                },
                exclude: /node_modules/
            }
        ]
    }
}

在配置Babel過程中大家有沒有注意到react,大家想到了什么玻粪,沒錯就是安裝react帐姻,我們要先安裝react才能用ES6以及JSX語法。

npm install --save react react-dom

接下來我們要用ES6語法

第四步 修改app.js奶段,讓他以組件形式返回
這個時候要注意了饥瓷,我們之前app.js文件名稱的開頭字母是小寫,這里我們要改為大寫痹籍,因?yàn)閞eact組件名稱是需要大寫的呢铆。

import React, {Component} from 'react'
import config from './config.json';

class App extends Component{
    render(){
        return (
            <div>
                {config[0].text}
            </div>
        )
    }
}
export default App

修改main.js如下,使用ES6的模塊定義和渲染App模塊

import React from 'react';
import {render} from 'react-dom';
import App from './App';

render(<App />, document.getElementById('root'));

第五步 重新使用npm start打包蹲缠,并且使用npm run server啟動本地服務(wù)棺克,如果之前打開的本地服務(wù)器沒有關(guān)閉,你應(yīng)該可以在localhost:8080下看到與之前一樣的內(nèi)容线定,這說明react和es6被正常打包了娜谊。

image.png

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市斤讥,隨后出現(xiàn)的幾起案子纱皆,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件派草,死亡現(xiàn)場離奇詭異搀缠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)近迁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門艺普,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鉴竭,你說我怎么就攤上這事歧譬。” “怎么了搏存?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵瑰步,是天一觀的道長。 經(jīng)常有香客問我祭埂,道長面氓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任蛆橡,我火速辦了婚禮舌界,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泰演。我一直安慰自己呻拌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布睦焕。 她就那樣靜靜地躺著藐握,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垃喊。 梳的紋絲不亂的頭發(fā)上猾普,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機(jī)與錄音本谜,去河邊找鬼初家。 笑死,一個胖子當(dāng)著我的面吹牛乌助,可吹牛的內(nèi)容都是我干的溜在。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼他托,長吁一口氣:“原來是場噩夢啊……” “哼掖肋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赏参,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤志笼,失蹤者是張志新(化名)和其女友劉穎沿盅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體籽腕,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗡呼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年纸俭,在試婚紗的時候發(fā)現(xiàn)自己被綠了皇耗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡揍很,死狀恐怖郎楼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窒悔,我是刑警寧澤呜袁,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站简珠,受9級特大地震影響阶界,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聋庵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一膘融、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祭玉,春花似錦氧映、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至振峻,卻和暖如春臼疫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扣孟。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工烫堤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哈打。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓塔逃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親料仗。 傳聞我的和親對象是個殘疾皇子湾盗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349