1.前言
由於ES6語法在各個瀏覽器上支持的情況各不相同,有的瀏覽器對ES6語法支持度較高,而有的瀏覽器支持較低,所以為了能夠兼容大多數瀏覽器,我們在使用ES6語法時需要使用babel編譯器將代碼中的ES6語法編譯為ES5語法,下面就開始搭建一個基於webpack+babel的ES6語法運行環境。
2.需要安裝的包
搭建環境之前我們需要安裝以下JS包:
- webpack(安裝webpack,必裝)
- babel-loader和babel-core(babel轉碼器,必裝)
- babel-preset-env(轉碼規則,必裝)
- webpack-dev-server(瀏覽器熱更新使用,選裝)
可以使用下面一條命令快速安裝:
cnpm install babel-loader babel-core babel-preset-env webpack webpack-dev-server --save-dev
3.新建項目
安裝完上述所需要的包之后,我們就可以新建代碼項目來寫代碼了,以如下目錄結構為例:
D:\ES6-ENV
│ .babelrc
│ index.html
│ package.json
│ webpack.config.js
├─dist
├─node_modules
└─src
└─ main.js
目錄結構說明
1.ES6-ENV: 項目文件夾
2..babelrc:babel的配置文件
3.index.html:訪問的頁面
4.webpack.config.js:webpack配置文件
5.dist:webpack打包后的輸出文件
6.src/main.js:編寫es6代碼文件
3.1 babel配置文件.babel
{ "presets":["env"], "plugins":[] }
3.2 webpack配置文件webpack.config.js
var path = require('path'); module.exports = { //入口文件 entry:'./src/main.js', //出口文件 output:{
filename:'bundle.js', //出口文件名 path: path.resolve(__dirname,'dist') //出口文件路徑 }, module:{ rules:[ { test:/\.js$/, use:[ { loader:'babel-loader' } ], exclude: [ //排除的不轉換node_modules下面的.js文件 path.resolve(__dirname, 'node_modules') ] } ] } }
3.3 package.json
{ "name": "es6-env", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "webpack-dev-server --port 8080 --inline --hot --open" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-env": "^1.7.0", "webpack": "^3.10.0", "webpack-dev-server": "^2.11.0" } }
4.打碼
配置好以上環境后,我們就可以在src/main.js文件中瘋狂的打碼啦,此時所編寫的ES6語法在項目運行后就能被正確的編譯成ES5語法啦!!!
在命令行輸入以下命令即可運行寫好的代碼:
npm run dev