工程實戰 ES6環境配置

2021-09-14 03:01:07 字數 2170 閱讀 5632

最近在學習es6語法,故有了從零開始搭建es6環境的想法。下面第一部分是單純的es6環境配置,第二部分是基於webpack環境的工程配置
"devdependencies":
(1)babel-cli: 用於命令列轉碼

(2)babel-preset-env:將基於你的實際瀏覽器及執行環境,自動的確定babel外掛程式及polyfills,轉譯es2015及此版本以上的語言

(3)babel-polyfill: babel支援es6語法部分的編譯,對於新增的類還需安裝額外的polyfill

(4)babel-preset-stage-0:為了支援async/await,這個是es7的語法

(5)babel-plugin-transform-runtime:在轉換 es2015 語法為 ecmascript 5 的語法時,babel 會需要一些輔助函式,例如_extend。babel 缺省會將這些輔助函式內聯到每乙個 js 檔案裡,這樣檔案多的時候,專案就會很大。所以 babel 提供了 transform-runtime 來將這些輔助函式「搬」到乙個單獨的模組 babel-runtime 中,這樣做能減小專案檔案的大小

],

"stage-0"

],"plugins": ["transform-runtime"]

}

presets 中 env 標識:將基於你的實際瀏覽器及執行環境

其中 modules有以下選項

"amd" | "umd" | "systemjs" | "commonjs" | false, defaults to"commonjs".

enable transformation of es6 module syntax to another module type.

setting this tofalsewill not transform modules.

"scripts":
compile:babel src --out-dir dist用於將src資料夾中的檔案使用babel編譯到dist資料夾

"devdependencies":
在webpack中的配置,對比上面的babel-plugin-transform-runtimebabel-preset-envbabel-polyfillbabel-preset-stage-0四項是沒有變化的

(1)babel-core提供babel轉化的核心語法,上面的babel-cli已包涵,由於在webpack中不需要指令,直接引入core即可

(2)babel-loader將babel轉化為webpack能夠轉化的檔案

(3)webpackwebpack-dev-serverwebpack包及服務

與上面相同

const path = require('path')

module.exports = ,

module: ]},

resolve: ,

devserver: ,

performance: ,

devtool: '#eval-source-map'

}

"scripts":
webpack-dev-server啟動服務

--open自動開啟

--hot啟動熱更新

.

├── dist

├── index.html

├── node_modules

├── package.json

├── src

└── webpack.config.js

ES6環境搭建及react router學習

一 起因 es6新納入了很多振奮人心的新特性,真的很讓人忍不住去嘗試一下。不過,由於現在大部分的瀏覽器對es6的支援程度都不是很好。所以如果想要放心地使用一些新特性,還需要用一些工具,將es6或者es7的 轉為es5的 今天,就配置了一下環境,寫了乙個react router,主要是練習自己的程式設...

es6環境中,export與import使用方法

參考自阮一峰大神的教程 命令 宣告 如有問題,還請各位大神及時指正 es6環境下,乙個模組就是乙個獨立的檔案。該檔案內部的所有變數,外部無法獲取。如果你希望外部能夠讀取模組內部的某個變數,就必須使用export關鍵字輸出該變數。在src目錄下,新建common資料夾,新建profile.js,現在我...

如何在ES5與ES6環境下處理函式預設引數

函式預設值是乙個很提高魯棒性的東西 就是讓程式更健壯 mdn關於函式預設引數的描述 函式預設引數允許在沒有值或undefined被傳入時使用預設形參。眾所周知,在es5版本中,並沒有提供的直接方法供我們我們處理函式預設值 所以只能夠自己去增強函式的功能,一般會這麼來做 function dosome...