ES6的開發(fā)環(huán)境搭建

原文地址:https://www.jspang.com/detailed?id=40#toc21

ECMAScript 6.0(簡稱ES6)是JavaScript語言的下一代標(biāo)準(zhǔn)掰茶,已經(jīng)在2015年6月正式發(fā)布了讨勤。它的目標(biāo)菌仁,是使得JavaScript語言可以用來編寫復(fù)雜的大型應(yīng)用程序醉箕,成為企業(yè)級開發(fā)語言书妻。

ECMAScript和JavaScript的關(guān)系是,前者是后者的規(guī)格,后者是前者的一種實(shí)現(xiàn)袍冷。

工欲善其事,必先利其器猫牡。所以我們第1節(jié)就是搭建一個(gè)基本的ES6開發(fā)環(huán)境『現(xiàn)在的Chrome瀏覽器已經(jīng)支持ES6了,但是有些低版本的瀏覽器還是不支持ES6的語法淌友,這就需要我們把ES6的語法自動的轉(zhuǎn)變成ES5的語法煌恢。如果你聽過我Vue課程的話,應(yīng)該知道Webpack是有自動編譯轉(zhuǎn)換能力的震庭,除了Webpack自動編譯瑰抵,我們還可以用Babel來完成。這節(jié)課我們就使用Babel把ES6編譯成ES5器联。

建立工程目錄: 先建立一個(gè)項(xiàng)目的工程目錄二汛,并在目錄下邊建立兩個(gè)文件夾:src和dist

src:書寫ES6代碼的文件夾,寫的js程序都放在這里拨拓。
dist:利用Babel編譯成的ES5代碼的文件夾肴颊,在HTML頁面需要引入的時(shí)這里的js文件。

編寫index.html:

文件夾建立好后渣磷,我們新建一個(gè)index.html文件婿着。

<!DOCTYPE html>
<html lang="en">
    <head>
        <title></title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="./dist/index.js"></script>
    </head>
    <body>
        Hello ECMA Script 6
    </body>
</html>

需要注意的是在引入js文件時(shí),引入的是dist目錄下的文件醋界。

<script src="./dist/index.js"></script>

編寫index.js

在src目錄下竟宋,新建index.js文件。這個(gè)文件很簡單形纺,我們只作一個(gè)a變量的聲明丘侠,并用console.log()打印出來。

let a=1;
console.log(a);

我們用了let聲明挡篓,這里let是ES6的一種聲明方式,接下來我們需要把這個(gè)ES6的語法文件自動編程成ES5的語法文件帚称。

初始化項(xiàng)目

在安裝Babel之前官研,需要用npm init先初始化我們的項(xiàng)目。打開終端或者通過cmd打開命令行工具闯睹,進(jìn)入項(xiàng)目目錄戏羽,輸入下邊的命令:

npm init -y

-y代表全部默認(rèn)同意,就不用一次次按回車了楼吃。命令執(zhí)行完成后始花,會在項(xiàng)目根目錄下生產(chǎn)package.json文件妄讯。

{
  "name": "es6",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

可以根據(jù)自己的需要進(jìn)行修改,比如我們修改name的值酷宵。

全局安裝Babel-cli

在終端中輸入以下命令,如果你安裝很慢的話亥贸,可以使用淘寶鏡像的cnpm來進(jìn)行安裝。安裝cnpm的方法浇垦,大家自己百度吧炕置。

npm install -g babel-cli

雖然已經(jīng)安裝了babel-cli,只是這樣還不能成功進(jìn)行轉(zhuǎn)換男韧,如果你不相信可以輸入下邊的命令試一下朴摊。

babel src/index.js -o dist/index.js

你會發(fā)現(xiàn),在dist目錄下確實(shí)生產(chǎn)了index.js文件此虑,但是文件并沒有變化甚纲,還是使用了ES6的語法。因?yàn)槲覀冞€需要安裝轉(zhuǎn)換包才能成功轉(zhuǎn)換朦前,繼續(xù)往下看吧介杆。

本地安裝babel-preset-es2015 和 babel-cli

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

安裝完成后,我們可以看一下我們的package.json文件况既,已經(jīng)多了devDependencies選項(xiàng)这溅。

"devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-preset-es2015": "^6.24.1"
  }

新建.babelrc

在根目錄下新建.babelrc文件,并打開錄入下面的代碼

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

這個(gè)文件我們建立完成后棒仍,現(xiàn)在可以在終端輸入的轉(zhuǎn)換命令了悲靴,這次ES6成功轉(zhuǎn)化為ES5的語法。

babel src/index.js -o dist/index.js

簡化轉(zhuǎn)化命令:

在學(xué)習(xí)vue 的時(shí)候莫其,可以使用npm run build 直接利用webpack進(jìn)行打包癞尚,在這里也希望利用這種方式完成轉(zhuǎn)換。打開package.json文件乱陡,把文件修改成下面的樣子浇揩。

{
  "name": "es6",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel src/index.js -o dist/index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-preset-es2015": "^6.24.1"
  }
}

修改好后,以后我們就可以使用 npm run build 來進(jìn)行轉(zhuǎn)換了憨颠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胳徽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子爽彤,更是在濱河造成了極大的恐慌养盗,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件适篙,死亡現(xiàn)場離奇詭異往核,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嚷节,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門聂儒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虎锚,“玉大人,你說我怎么就攤上這事衩婚〈芑ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵谅猾,是天一觀的道長柄慰。 經(jīng)常有香客問我,道長税娜,這世上最難降的妖魔是什么坐搔? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮敬矩,結(jié)果婚禮上概行,老公的妹妹穿的比我還像新娘。我一直安慰自己弧岳,他們只是感情好凳忙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著禽炬,像睡著了一般涧卵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腹尖,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天柳恐,我揣著相機(jī)與錄音,去河邊找鬼热幔。 笑死乐设,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绎巨。 我是一名探鬼主播近尚,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼场勤!你這毒婦竟也來了戈锻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤和媳,失蹤者是張志新(化名)和其女友劉穎格遭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窗价,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡如庭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年叹卷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撼港。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坪它。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖帝牡,靈堂內(nèi)的尸體忽然破棺而出往毡,到底是詐尸還是另有隱情,我是刑警寧澤靶溜,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布开瞭,位于F島的核電站,受9級特大地震影響罩息,放射性物質(zhì)發(fā)生泄漏嗤详。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一瓷炮、第九天 我趴在偏房一處隱蔽的房頂上張望葱色。 院中可真熱鬧,春花似錦娘香、人聲如沸苍狰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淋昭。三九已至,卻和暖如春安接,著一層夾襖步出監(jiān)牢的瞬間翔忽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工赫段, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呀打,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓糯笙,卻偏偏與公主長得像贬丛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子给涕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容