99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

?es6如何入門

發(fā)布時間:2016-07-29 21:11  回復(fù):0  查看:2750   最后回復(fù):2016-07-29 21:11  

最近在學(xué)習(xí)javascript es6,也在看javascript es6標準入門,所以結(jié)合了這本書的內(nèi)容寫了一個讀書筆記,希望對入門學(xué)習(xí)ES6的同學(xué)有點幫助。

 

 

 

運行環(huán)境

node環(huán)境的檢查

 

查看nodees6的支持狀況

$ node --v8-option | grep harmory

 

阮一峰自寫插件 @github

$ npm install -g es-checker

$  es-checker

 

babel轉(zhuǎn)碼器

 

babel安裝

$ npm install --glabel bael-cli

$ npm install --save babel-preset-2015

在當(dāng)前目錄新建.babelrc文件

// .babelrc

{

    preset:[2015]

}

babel功能

 

babel-node 可直接運行es6代碼

$ babel-node

> cosnole.log([1,2,3].map(x=>x*x))

  [1,4,9]

babel-node 可直接運行腳本

// es6.js

cosnole.log([1,2,3].map(x=>x*x))

  [1,4,9]

$ babel-node es6.js

babel命令可以將es6文件轉(zhuǎn)為es5文件此處不是babel-node

$ babel es6.js

  "user strict"

  console.log([1,2,3].map(function(x){

      return x*x

  }))

輸出參數(shù)

-o 輸出至某文件

$ baebl es6.js -o  es5.js

 

-d 轉(zhuǎn)換整個目錄

$ baebl -d es6 es5

 

-s 輸出source-map

$ baebl -d es6 es5 -s

 

瀏覽器環(huán)境

babel6開始不再提供瀏覽器版本,而使用構(gòu)建工具構(gòu)建
可以使用以下方法安裝5.x版本

$ node install label-core@5

并于頁面中使用

 <script src="node_module/babel-core/browser.js"></script>

 <script type="text/babel">

 //enter your code

 </script>

此種做法會對瀏覽器性能產(chǎn)生影響,在script標簽中需要注明 text/babel

配合Browserify可以生成瀏覽器能夠直接加載的腳本

首先安裝babelify

$ npm isntall --save-dev babelify babel-preset-2015

 

然后用命令行轉(zhuǎn)至es6腳本

$ browsweify script.js -o bundle.js  \\ -t [ babelify --presets[ es2005 react]

上面代碼將script.js 轉(zhuǎn)為bundle.js,瀏覽器可直接加載bundle.js
建立package.json,可不必輸入?yún)?shù)

{

  "browserify":{

      "transform":[["babelify",{"presets":["es2015"]}]]        

  }}

 

node.js環(huán)境

 

如果需要在node中將es6轉(zhuǎn)為es5,需要安裝如下:

$ npm install --save babel-core babel-preset-2015

在當(dāng)前目錄新建.babelrc文件

// .babelrc

{

  preset:[2015]

}

在腳本文件的最后調(diào)用babel-coretransform方法

var es5Code='let x=n=>n+1';var es6Code=rquire('babel-core').transform(es5Code,{preset:['es2015']});//"user strict";\\n\\nvar x=function(n){\\n return n+1;\\n}

設(shè)置鉤子做法,這將會對所有后面引入的js,es6,es,jsx文件進行轉(zhuǎn)碼加載

rquire('babel-core/register');

 

注意:babel默認不會轉(zhuǎn)換Iterator,Generator,Set
,Map,Proxy,Reflext,Symbol,Promise等全局對象以及一些定義在全局對象上的方法,需要安裝babel-polyfill模塊來進行擴展

 

$ npm install --save babel-polyfill

 

然后在所有腳本頂部引入

 

rquire('babel-polyfill');

 

 


原文來自:簡書/tinlee

您還未登錄,請先登錄

熱門帖子

最新帖子

?