第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

webpack babel 怎么將Object.assign() 轉(zhuǎn)成es5語法?

webpack babel 怎么將Object.assign() 轉(zhuǎn)成es5語法?

12345678_0001 2018-11-25 10:06:09
webpack babel 怎么將Object.assign() 轉(zhuǎn)成es5語法
查看完整描述

1 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

習(xí)慣了WebStorm的話..我就假設(shè)題主會(huì)用Node.js和npm啦~

一句話總結(jié):用WebStorm自帶的File Watcher功能+Babel實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換ECMAScript 6代碼為ES5代碼

我是這么配置的..就先新建一個(gè)Empty Project,然后在src目錄下新建了一個(gè)main.js;
// 這一步不是必須的 只是剛上手的話 從空項(xiàng)目開始自己配置會(huì)少很多干擾

Then..進(jìn)入設(shè)置,把JavaScript language version改成ECMAScript 6;

再Then..寫一段ES6代碼

'use strict';
// node直接運(yùn)行ES6代碼時(shí),如使用了ES6的一些關(guān)鍵字,比如let,就需要嚴(yán)格模式,否則會(huì)報(bào)錯(cuò)
// 這是沒有嚴(yán)格模式時(shí)候的錯(cuò)誤提示
// SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

function* fibs() {// Generator Function
let a = 0;
let b = 1;
while (true) {
yield a;
// [a, b] = [b, a + b];
b = a + b;
a = b - a;
}
}
let [first, second, third, fourth, fifth, sixth] = fibs();
console.log(first, second, third, fourth, fifth, sixth);

現(xiàn)在IDE會(huì)出現(xiàn)一個(gè)File watcher提示條

先別點(diǎn)Add watcher!我們要先去裝babel~

首先在根目錄新建一個(gè)package.json
{
"name": "test-project",
"version": "1.0.0"
}

然后打開IDE的Terminal,安裝babel-cli
npm install --save-dev babel-cli

Good! 現(xiàn)在可以去點(diǎn)Add watcher啦,點(diǎn)完之后會(huì)彈出一個(gè)框,其中大部分設(shè)置IDE都幫你搞定了

下面第三行,Program那一項(xiàng),填

$ProjectFileDir$/node_modules/.bin/babel

然后點(diǎn)OK,這個(gè)時(shí)候你就會(huì)發(fā)現(xiàn)左邊多出來一個(gè)main-compiled.js文件啦

但是還沒搞定!現(xiàn)在只是搞定了自動(dòng)轉(zhuǎn)換的功能,系統(tǒng)默認(rèn)把ES6 compile成了ES6..(你應(yīng)該會(huì)發(fā)現(xiàn)compile出來的東西跟原來的一樣..Generator函數(shù)并沒有被轉(zhuǎn)換成ES5的格式)

所以我們需要安裝Babel的preset以正確識(shí)別ES6代碼;

和剛才一樣,在npm安裝babel的ES6的preset
npm install --save-dev babel-preset-es2015

在根目錄下新建一個(gè).babelrc文件(就是babel在當(dāng)前項(xiàng)目的配置文件),寫上
{
"presets": [
"es2015"
]
}

OK搞定!保存再回去看一下main-compiled.js 應(yīng)該就變成這個(gè)樣子啦,現(xiàn)在你在main.js里直接寫ES6代碼,IDE都會(huì)自動(dòng)compile成ES5的代碼在這里啦~

注意:想直接用Node.js運(yùn)行ES6代碼還是有些問題..因?yàn)檫@段代碼用的ES6的解構(gòu)賦值Node.js還未完全支持,需要在運(yùn)行的時(shí)候加入一些tags(以開啟Node.js的相關(guān)試驗(yàn)特性),具體可以參考Node.js官網(wǎng)對(duì)ES6的說明:ECMAScript 2015 (ES6)。



查看完整回答
反對(duì) 回復(fù) 2018-12-11
  • 1 回答
  • 0 關(guān)注
  • 1033 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)