国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 前端問答 為什么要將es6轉(zhuǎn)為es5

為什么要將es6轉(zhuǎn)為es5

May 05, 2022 pm 02:21 PM
es6

原因:為了瀏覽器兼容,以及為了在node.js環(huán)境可以順暢運行應用程序。ES6作為JS的新規(guī)范,加入了很多新的語法和API,但現(xiàn)代瀏覽器對ES6新特性支持度不高,所以需將ES6代碼轉(zhuǎn)為ES5代碼;只需在項目中安裝和配置好Babel工具即可。

為什么要將es6轉(zhuǎn)為es5

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

為什么要將es6轉(zhuǎn)為es5?

簡單答案就是:為了瀏覽器兼容,以及為了在 node.js 環(huán)境可以順暢運行應用程序。

ES6作為JS的新規(guī)范,加入了很多新的語法和API,而市面上的瀏覽器并沒有全部兼容,所以需要將ES6語法代碼轉(zhuǎn)為ES5的代碼。

現(xiàn)代瀏覽器對ES6新特性支持度不高,所以要想在瀏覽器中直接使用ES6的新特性就得借助別的工具來實現(xiàn)。

在 node.js 環(huán)境中,node 對 ES6 的支持一直被詬病,到了 13 版本之后,才出了模塊模式(在 package.json 中增加一句:“type”: “module”),但有些庫仍然不支持 ES6 語法。因此,如果你的 node.js 程序遇到不認識 ES6 語法的時候,請使用 Babel 轉(zhuǎn)碼一下也許就能解決問題。

怎么將es6轉(zhuǎn)為es5?

用babel將es6轉(zhuǎn)換成es5。

下面我們寫出在命令行使用 Babel 的過程,讓你清楚轉(zhuǎn)譯過程的全部內(nèi)容。

1. 在項目中安裝 Babel 的命令行工具

npm?install?-D?babel-cli

2. 準備 ES6 代碼

通常我們把源代碼放在 src 目錄下,如果你沒有現(xiàn)成的 ES6 代碼,那就在 src 目錄下創(chuàng)建一個:

//?src/example.js
class?Hello?{
??static?world()?{
????console.log('Hello,?World!');
??}
}
Hello.world();

3. 配置 Babel

Babel 是通過插件和預設值(preset)來轉(zhuǎn)譯代碼(因此它可以轉(zhuǎn)譯的不只是 ES6)。為了轉(zhuǎn)譯 ES6 為 ES5,我們只需要配置 env 預設值就可以了,安裝這個插件:

npm?install?-D?babel-preset-env

我們還需要一個配置文件,在項目根目錄下創(chuàng)建文件:.babelrc,內(nèi)容如下:

//?.babelrc
{
??"presets":?["env"]
}

4. 創(chuàng)建 npm 命令

這一步不是必須的,因為前面已經(jīng)配置好了,你可以直接執(zhí)行命令:

babel?src?-d?build

這樣就會把 src 目錄下的 Javascript 代碼轉(zhuǎn)譯成 ES5,并存放在 build 目錄下。

習慣上,我們將上門的命令放到 npm 命令中。在項目的 package.json 中,輸入下面的內(nèi)容:

"scripts":?{
??"build":?"babel?src?-d?build",
},

這樣你就可以使用下面的命令來轉(zhuǎn)譯 ES6 代碼:

npm?run?build

【相關推薦:javascript視頻教程、web前端

以上是為什么要將es6轉(zhuǎn)為es5的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
ES6怎么求數(shù)組反轉(zhuǎn) ES6怎么求數(shù)組反轉(zhuǎn) Oct 26, 2022 pm 06:19 PM

在ES6中,可以利用數(shù)組對象的reverse()方法來實現(xiàn)數(shù)組反轉(zhuǎn),該方法用于顛倒數(shù)組中元素的順序,將最后一個元素放在第一位,而第一個元素放在最后,語法“array.reverse()”。reverse()方法會修改原始數(shù)組,如果不想修改需要配合擴展運算符“...”使用,語法“[...array].reverse()”。

async是es6還是es7的 async是es6還是es7的 Jan 29, 2023 pm 05:36 PM

async是es7的。async和await是ES7中新增內(nèi)容,是對于異步操作的解決方案;async/await可以說是co模塊和生成器函數(shù)的語法糖,用更加清晰的語義解決js異步代碼。async顧名思義是“異步”的意思,async用于聲明一個函數(shù)是異步的;async和await有一個嚴格規(guī)定,兩者都離不開對方,且await只能寫在async函數(shù)中。

小程序為什么要將es6轉(zhuǎn)es5 小程序為什么要將es6轉(zhuǎn)es5 Nov 21, 2022 pm 06:15 PM

為了瀏覽器兼容。ES6作為JS的新規(guī)范,加入了很多新的語法和API,但現(xiàn)代瀏覽器對ES6新特性支持度不高,所以需將ES6代碼轉(zhuǎn)為ES5代碼。在微信web開發(fā)者工具中,會默認使用babel將開發(fā)者ES6語法代碼轉(zhuǎn)換為三端都能很好支持的ES5的代碼,幫助開發(fā)者解決環(huán)境不同所帶來的開發(fā)問題;只需要在項目中配置勾選好“ES6轉(zhuǎn)ES5”選項即可。

es6怎么找出2個數(shù)組中不同項 es6怎么找出2個數(shù)組中不同項 Nov 01, 2022 pm 06:07 PM

步驟:1、將兩個數(shù)組分別轉(zhuǎn)為set類型,語法“newA=new Set(a);newB=new Set(b);”;2、利用has()和filter()求差集,語法“new Set([...newA].filter(x =>!newB.has(x)))”,差集元素會被包含在一個set集合中返回;3、利用Array.from將集合轉(zhuǎn)為數(shù)組類型,語法“Array.from(集合)”。

es5和es6怎么實現(xiàn)數(shù)組去重 es5和es6怎么實現(xiàn)數(shù)組去重 Jan 16, 2023 pm 05:09 PM

es5中可以利用for語句和indexOf()函數(shù)來實現(xiàn)數(shù)組去重,語法“for(i=0;i

es6暫時性死區(qū)是什么意思 es6暫時性死區(qū)是什么意思 Jan 03, 2023 pm 03:56 PM

在es6中,暫時性死區(qū)是一個語法錯誤,是指let和const命令使區(qū)塊形成封閉的作用域。在代碼塊內(nèi),使用let/const命令聲明變量之前,該變量都是不可用的,在變量聲明之前屬于該變量的“死區(qū)”;這在語法上,稱為“暫時性死區(qū)”。ES6規(guī)定暫時性死區(qū)和let、const語句不出現(xiàn)變量提升,主要是為了減少運行時錯誤,防止在變量聲明前就使用這個變量,從而導致意料之外的行為。

require是es6語法嗎 require是es6語法嗎 Oct 21, 2022 pm 04:09 PM

不是,require是CommonJS規(guī)范的模塊化語法;而es6規(guī)范的模塊化語法是import。require是運行時加載,import是編譯時加載;require可以寫在代碼的任意位置,import只能寫在文件的最頂端且不可在條件語句或函數(shù)作用域中使用;require運行時才引入模塊的屬性所以性能相對較低,import編譯時引入模塊的屬性所所以性能稍高。

es6怎么判斷數(shù)組里總共有多少項 es6怎么判斷數(shù)組里總共有多少項 Jan 18, 2023 pm 07:22 PM

在es6中,可以利用array對象的length屬性來判斷數(shù)組里總共有多少項,即獲取數(shù)組中元素的個數(shù);該屬性可返回數(shù)組中元素的數(shù)目,只需要使用“array.length”語句即可返回表示數(shù)組對象的元素個數(shù)的數(shù)值,也就是長度值。

See all articles