1. 程式人生 > >通過Babel編譯=>相容ES6語法

通過Babel編譯=>相容ES6語法

建立工程目錄:

先建立一個專案的工程目錄,並在目錄下邊建立兩個資料夾:srcdist

  • src:書寫ES6程式碼的資料夾,寫的js程式都放在這裡。
  • dist:利用Babel編譯成的ES5程式碼的資料夾,在HTML頁面需要引入的時這裡的js檔案。

編寫index.html:

資料夾建立好後,我們新建一個index.html檔案。

123456789101112<!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檔案時,引入的是dist目錄下的檔案。

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

編寫index.js

在src目錄下,新建index.js檔案。這個檔案很簡單,我們只作一個a變數的宣告,並用console.log()打印出來。

12leta=1;console.log(a);

我們用了let宣告,這裡let是ES6的一種宣告方式,接下來我們需要把這個ES6的語法檔案自動程式設計成ES5的語法檔案。

初始化專案

在安裝Babel之前,需要用npm init先初始化我們的專案。開啟終端或者通過cmd開啟命令列工具,進入專案目錄,輸入下邊的命令:

1npm init-y

-y代表全部默認同意,就不用一次次按回車了。命令執行完成後,會在專案根目錄下生產package.json檔案。

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

可以根據自己的需要進行修改,比如我們修改name的值。

全域性安裝Babel-cli

在終端中輸入以下命令,如果你安裝很慢的話,可以使用淘寶映象的cnpm來進行安裝。安裝cnpm的方法,大家自己百度吧。

1npm install-gbabel-cli

雖然已經安裝了babel-cli,只是這樣還不能成功進行轉換,如果你不相信可以輸入下邊的命令試一下。

1babel src/index.js-odist/index.js

你會發現,在dist目錄下確實生產了index.js檔案,但是檔案並沒有變化,還是使用了ES6的語法。因為我們還需要安裝轉換包才能成功轉換,繼續往下看吧。

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

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

安裝完成後,我們可以看一下我們的package.json檔案,已經多了devDependencies選項。

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

新建.babelrc

在根目錄下新建.babelrc檔案,並開啟錄入下面的程式碼

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

這個檔案我們建立完成後,現在可以在終端輸入的轉換命令了,這次ES6成功轉化為ES5的語法。

1babel src/index.js-odist/index.js

簡化轉化命令:

在學習vue 的時候,可以使用npm run build 直接利用webpack進行打包,在這裡也希望利用這種方式完成轉換。開啟package.json檔案,把檔案修改成下面的樣子。

12345678910111213141516

相關推薦

通過Babel編譯=>相容ES6語法

建立工程目錄:先建立一個專案的工程目錄,並在目錄下邊建立兩個資料夾:src和distsrc:書寫ES6程式碼的資料夾,寫的js程式都放在這裡。dist:利用Babel編譯成的ES5程式碼的資料夾,在HTML頁面需要引入的時這裡的js檔案。編寫index.html:資料夾建立好

WebStorm ES6 語法支持設置&babel使用及自動編譯

java led 當前 成了 ets 參考 操作 scripts ces 一、語法支持設置 Preferences > Languages & Frameworks > JavaScript 二、Babel安裝

ES6語法的reactjs元件babel編譯

首先,讓我擁有一個react元件 MyComponent.jsx import React from 'react'; //es5 無法識別import語句 const MyComponent = props=> { return &l

使用babel編譯es6

輸入 備註 基於 cti 令行 開始菜單 turn dev 創建 起因:開發中慢慢的學習使用es6,但是JavaScript需要瀏覽器來解析,而不是所有瀏覽器都支持es6,所以為了兼容es6,需要第三方工具進行編譯es6。 工具:node,gulp,gulp-babel,

Babel編譯es6

object target 全局環境 語法 build dev .config plugins aps Babel是一個廣泛使用的轉碼器,可以將ES6代碼轉為ES5代碼,從而在現有環境執行。 這意味著,你可以現在就用 ES6 編寫程序,而不用擔心現有環境是否支持。下面

Pycharm WebStorm 配置 babel 實現自動編譯 ECMAScript6 (es6) 文件

pycharm webstorm 配置 所需基礎node.jsnmp開始1、首先新建一個空項目,減少幹擾更快的看到配置效果。2、在項目中創建一個 man.js 文件 。進入設置:「 File Settings Languages&Frameworks JavaScript 」將 Ja

在IDEA(phpStorm)中使用Babel編譯ES6

-s all ogr babel es6語法 適用於 進行 這一 react 安裝Babel 官方文檔建議我們根據單個項目進行本地安裝,原因是不同的項目可以依賴不同版本的 Babel,使你的項目更方便移植、更易於安裝。 在項目的根目錄下使用命令行工具(CMD等)執行下面代碼

解決IE、華為瀏覽器相容不了es6語法的解決辦法

1.  main.js  直接引入 import 'babel-polyfill'   2.在 webpack 下 build資料夾  webpack.base.conf.js 下 entry 匯入模組   context: path

Vue專案相容IE9以及ES6語法轉換(MD.9)

問題:Vue專案用了axios,vuex以及ES6語法等一系列看起來很高大上的新技術後,在IE9-11瀏覽器直接白屏。 原因:IE對ES6語法支援極差,IE也不支援promise,vuex,axios都依賴promise。 解決方案: 1.首先解決es6語法不相容的問題,用ba

webpack+babel構建ES6語法執行環境

由於ES6語法在各個瀏覽器上支援的情況各不相同,所以在使用ES6語法時需要使用babel經過一次編譯,將ES6語法編譯為ES5語法,下面就開始搭建一個基於webpack+babel的ES6語法執行環境: 1.需要安裝的包 webpack(安裝webpa

es6通過babel轉碼之後,使用webpack才可以使用import關鍵字?

應用了babel轉碼,應用import和export的時刻,在瀏覽器運轉程式碼的時刻,提醒 Uncaught ReferenceError: require is not defined babel只是個翻譯,假定a.js 裡 import 了 b.js 對a.js停止轉碼,只是翻譯了a.js,其實不會把

在使用es6語法class的時候,babel到底做了什麼?

自從有了webpack之後,我們這些jscoder似乎得到了前所未有的解放,箭頭函式,物件解構,let,const關鍵字,以及class、extends等等關鍵字使用得不亦樂乎,反正,webpack會幫我們把這些es6程式碼轉換成瀏覽器能夠識別的es5程式碼,那麼,我們有多少

通過babel-register在nodejs端使用es6

nodejs對es6的支援並不好,像class, import這些關鍵字,react的jsx都無法使用。但是babel可以將這些都轉化為es5。此處講講如何在node端使用babel。 require('babel-register'); 即可。它還可以接收一個babe

Webpack 4 學習06(使用babel編譯ES6

功能 直接 web rip 處理 負責 code options ons 目前,ES6(ES2015)這樣的語法已經得到很大規模的應用,它具有更加簡潔、功能更加強大的特點,實際項目中很可能會使用采用了ES6語法的模塊,但瀏覽器對於ES6語法的支持並不完善。為了實現兼容,就

webpack中使用babel處理es6語法

-c color index lan tle idt pac sta view index.js const arr = [   new Promise(()=>{}),   new Promise(()=>{}) ]; arr.map(i

sublime3 支持jsx es6語法

match -s 支持 參考 編寫 mark div you b- Sublime Text3 React.js開發常用插件 本文主要是針對jsx語法的,用來快速編寫組件中的html部分。 babel 支持ES6、React.js、jsx代碼語法高亮。 安裝 comman

ES6語法將扁平的JSON對象結構化

-1 col for 結構 form表單提交 語法 console ble json 適用於支持ES6語法的項目中。 Form表單提交整個Table的數據,每單個表單必須有唯一的name,當數據量較大時,不可能去手動設置每一個name名。 因此通過遍歷出有規律的name,然

讓cocos2dx支持並通過arm64 編譯

cells curl 2dx info fine .mm trac 宏定義 popu 為了要支持64位,請把這個文件直接替換到相應的lib文件夾下。本來是須要改neton_matrix_impl.c裏的宏定義, 在 platform/ios/EAGLVIEW.

es6語法入門let 和 const 命令

() mil 環境 func 添加 family -s 另一個 type let塊級作用域 1 { 2 let a = 10; 3 var b = 1; 4 } 5 6 a // ReferenceError: a is not defined. 7 b //

vscode 支持es6語法

rules object-c urn elf value sel expected width rest 在首選項中 設置: "jshint.enable": false, 在根目錄中建立eslintrc.yml parser: babel-eslint pa