使用webpack+babel构建ES6语法运行环境

Posted 难凉热血,码梦为生!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用webpack+babel构建ES6语法运行环境相关的知识,希望对你有一定的参考价值。

1.前言

由于ES6语法在各个浏览器上支持的情况各不相同,有的浏览器对ES6语法支持度较高,而有的浏览器支持较低,所以为了能够兼容大多数浏览器,我们在使用ES6语法时需要使用babel编译器将代码中的ES6语法编译为ES5语法,下面就开始搭建一个基于webpack+babel的ES6语法运行环境。

2.需要安装的包

搭建环境之前我们需要安装以下JS包:

  • webpack(安装webpack,必装)
  • babel-loader和babel-core(babel转码器,必装)
  • babel-preset-es2015(转码规则,以es2015规则转码,必装)
  • webpack-dev-server(浏览器热更新使用,选装)

可以使用下面一条命令快速安装:

cnpm install babel-loader babel-core babel-preset-es2015 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":[
    "es2015"
  ],
  "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-es2015": "^6.24.1",
    "webpack": "^3.10.0",
    "webpack-dev-server": "^2.11.0"
  }
}

4.打码

配置好以上环境后,我们就可以在src/main.js文件中疯狂的打码啦,此时所编写的ES6语法在项目运行后就能被正确的编译成ES5语法啦!!!

在命令行输入以下命令即可运行写好的代码:

npm run dev














以上是关于使用webpack+babel构建ES6语法运行环境的主要内容,如果未能解决你的问题,请参考以下文章

webpack4 使用babel处理ES6语法的一些简单配置

webpack打包react项目babel-loader转换es6语法中‘...’错误

简单的 Webpack + React + ES6 + babel 示例不起作用。意外的令牌错误

深入浅出的webpack构建工具---babel之配置文件.babelrc

webpack配合babel使用

webpack打包不识别es6语法的坑