ECMAScript6環(huán)境搭建

使用 Javascript 引擎的系統(tǒng)(如 Node.js)

Node.js 是一個(gè) Javascript 運(yùn)行環(huán)境(runtime)。實(shí)際上它是對(duì) Google V8 引擎進(jìn)行了封裝。
V8 引擎執(zhí)行 Javascript 的速度非???,性能非常好。Google Chrome 瀏覽器就是用的 V8 引
擎。
Node.js 下載地址 https://nodejs.org/zh-cn/,目前支持到 97%。

運(yùn)行 ECMAScript6 的途徑

瀏覽器(IE、Firefox、Chrome、Safari、Opera 等)
瀏覽器對(duì) ES6 的支持情況:
http://www.xuebuyuan.com/2122607.html
http://kangax.github.io/compat-table/es6/

可以看出來(lái),基本上是沒(méi)有瀏覽器完全支持的,所以還是不要直接用的好。
但是有轉(zhuǎn)換器 (更準(zhǔn)確地說(shuō)是源代碼到源代碼的編譯器) 可以把ES6轉(zhuǎn)換為被瀏覽器接受的ES5,比如Babel以及Traceur 之類(lèi)的項(xiàng)目。其中Babel對(duì) ES6 的支持程度比其它同類(lèi)更高,而且 Babel 擁有完善的文檔和一個(gè)很棒的在線交互式編程環(huán)境,因此用的比較多。
Babel 是 ES2015 語(yǔ)法轉(zhuǎn)化器。這些轉(zhuǎn)化器能讓你現(xiàn)在就使用最新的 JavaScript 語(yǔ)法,而不用等待瀏覽器提供支持。
接下來(lái)我們就要使用 Babel 工具將 ECMAScript6 轉(zhuǎn)換為 ECMAScript5啦。

NodeJs 安裝步驟

我們要使用nvm來(lái)安裝node,nvm是一種NodeJs版本管理工具。

(這里需要說(shuō)明一下:nvm是NodeJs版本管理工具,下文中的npm是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問(wèn)題,類(lèi)似于JAVA中的Maven)

Windows操作系統(tǒng)的nvm下載地址https://github.com/coreybutler/nvm-windows/releases

目錄.png

安裝之后,我們打開(kāi)cmd 運(yùn)行 set | findstr "nvm"檢查一下

檢查結(jié)果.png

可以看到nvm已經(jīng)存在F盤(pán)的dev文件夾中
接下來(lái)我們運(yùn)行nvm -h
安裝成功.png

出現(xiàn)上圖所示表示nvm安裝成功。

nvm 配置淘寶鏡像(下載更快)

修改 F:\dev\nvm\settings.txt

修改為.png

我們通過(guò) nvm 安裝某版本的 nodejs 集(node、npm(nodejs 包管理工具))
64 位系統(tǒng):CMD 運(yùn)行 nvm install 6.9.2
32 位系統(tǒng):CMD 運(yùn)行 nvm install 6.9.2 32
注意:其中 6.9.2 表示安裝 node 版本為 6.9.2,這里 npm 是包含在 node 中的不需要單獨(dú)安裝。
安裝目前最新版本 8.4.0 如圖所示 :
8.4.0.png

我們可以檢查一下node 和 npm的版本
查詢版本.png

可以看到我們現(xiàn)在使用的node版本是 v6.9.2 包管理工具npm的版本是3.10.9。
我們接下來(lái)使用nvm來(lái)切換到剛才下載的新版本 8.4.0 運(yùn)行nvm use 8.4.0
切換新版本.png

好了我們運(yùn)行node -v顯示版本為v8.4.0說(shuō)明切換成功了。

接下來(lái)為了使npm更高效,下載更快,我們可以設(shè)置淘寶鏡像。

配置淘寶鏡像.png

配置好之后我們就可以在不同環(huán)境下運(yùn)行ES6了~

在NodeJs環(huán)境中運(yùn)行ES6

打印name.png

OK接下來(lái)我們就要實(shí)現(xiàn)ES6到ES5的轉(zhuǎn)換了!

使用 Babel 完成 ES6 到 ES5 的轉(zhuǎn)換

首先使用 npm 創(chuàng)建一個(gè) NodeJs 工程:


開(kāi)始.png

交互式配置node參數(shù):

配置參數(shù).png

創(chuàng)建好之后,我們通過(guò)webstorm打開(kāi)workspace這個(gè)項(xiàng)目,使用ES6編寫(xiě)代碼:

let 報(bào)錯(cuò).png

我們需要更改webstorm的設(shè)置讓他支持ES6語(yǔ)法:

更改設(shè)置.png

這樣就不會(huì)報(bào)錯(cuò)了。

babel全局安裝

運(yùn)行npm install -g babel-cli

安裝babel.png

安裝成功.png

然后安裝轉(zhuǎn)換插件(此插件定義了 ES2015 轉(zhuǎn)碼規(guī)則,相當(dāng)于是字典的功
能): npm install babel-preset-es2015 –save

安裝插件.png

文件目錄.png

CND命令行轉(zhuǎn)換ES6-----ES5
babel es6.js --out-file es5.js --presets es2015

可以看到es6.js中的 let 和 箭頭函數(shù) 轉(zhuǎn)換為了es5.js中瀏覽器可以識(shí)別的es5代碼

es6.js中的代碼.png

轉(zhuǎn)換為

es5.js中的代碼.png

這些就是babel自動(dòng)幫我們做的。

當(dāng)然我們可以設(shè)置自動(dòng)轉(zhuǎn)換,也就是每寫(xiě)一行代碼會(huì)自動(dòng)轉(zhuǎn)換過(guò)去,不過(guò)這樣會(huì)很耗性能。
babel es6.js -w --out-file es5.js --presets es2015

可以看到我們只要更改了es6.js里面的內(nèi)容就會(huì)記錄操作:


cmd記錄.png

同樣當(dāng)我們代碼錯(cuò)誤,也會(huì)報(bào)錯(cuò):


cmd報(bào)錯(cuò).png

小結(jié)

配置環(huán)境遇到了很多坑,node更新太快了導(dǎo)致很多包有兼容性問(wèn)題,如果nodev8.4.0,使用過(guò)程中出現(xiàn)error -4048 請(qǐng)使用低版本 推薦 v6.9.2 版本 。
下次我會(huì)嘗試使用 Browsersync 實(shí)時(shí)刷新頁(yè)面和 Babel-Core 實(shí)時(shí)轉(zhuǎn)換
ES6 ,謝謝大家。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 webpack2和vue2已經(jīng)不是新鮮東西了,滿大街的文章在講解webpack和vue,但是很多內(nèi)容寫(xiě)的不是...
    技術(shù)宅小青年閱讀 6,693評(píng)論 4 43
  • 一、ES6 參考 http://es6.ruanyifeng.com/ ECMAScript當(dāng)前所有提案 Git...
    pifoo閱讀 11,945評(píng)論 1 13
  • 寫(xiě)在開(kāi)頭 先說(shuō)說(shuō)為什么要寫(xiě)這篇文章, 最初的原因是組里的小朋友們看了webpack文檔后, 表情都是這樣的: (摘...
    Lefter閱讀 5,452評(píng)論 4 31
  • 這是第幾份工作? 餐館服務(wù)員、輔導(dǎo)老師、超市營(yíng)業(yè)員、專(zhuān)柜促銷(xiāo)員,那這是第五份咯,小吃店店員。其實(shí)原本不是它,之所以...
    寺音閱讀 283評(píng)論 0 0
  • 世界那么大,我想去看看。 這幾年,社交網(wǎng)絡(luò)上那些瀟灑走天下的旅游達(dá)人,收獲了無(wú)數(shù)人羨慕的眼神,也激發(fā)了更多人出走的...
    Q小喵閱讀 273評(píng)論 3 1

友情鏈接更多精彩內(nèi)容