Notes for a front-end developer, esyou.net

0%

使用WEBPACK配置ES6开发环境

ES6简介

由于ES6无法直接运行在浏览器中,只能通过babel来进行解析转换(编译)成ES5才可以运行在浏览器中,因此我们就需要给ES6搭建相关的环境,才可以开心的写ES6。
目前很多框架都使用了ES6,比如react、vuejs、angular等这些主流前端框架。ES6简洁了很多ES5的代码,让我们可以少写很多代码,当然如果你还了解typescript以及coffeescrpt,那么就更加方便你进行各种开发了。但是问题来了,这些基于ES6的所有框架以及语法糖都需要搭建相关的环境才能够正常运行ES6

webpack

webpack是一个前端打包工具,简单说webpack是将所有JavaScript组件以及依赖的库整合为一个js文件,将所有CSS整合为一个css文件。使用webpack可以很方便的打包各种JavaScript组件。

准备工作

1)、安装nodeJS(安装方法请到官方查看)
2)、使用npm初始化项目

1
npm init ES6

ES6是我们开发的项目文件夹
运行上面的命令后会让你填写一些有关项目描述等信息,并且在ES6文件夹下会生成一个package.json的文件
3)、全局安装webpack

1
npm install -g webpack

安装依赖

配置ES6环境,我们需要安装以下几个必须的依赖包

babel-core、babel-loader、babel-preset-es2015、html-webpack-plugin、webpack、webpack-dev-server
其中babel-core、babel-loader、babel-preset-es2015这几个依赖包主要是用于解析ES6并且转换成ES5的,html-webpack-plugin主要是用于webpack运行html,webpack、webpack-dev-server主要是用于搭建本地服务环境,其中webpack-dev-server是用于热更新的(所谓热更新就是当你修改了代码,不用再去刷新浏览器即可实时运行修改后的代码)
运行下面的命令一次性安装所有依赖包

1
npm install babel-core babel-loader babel-preset-es2015 html-webpack-plugin webpack webpack-dev-server --save-dev

创建.babelrc文件

在根目录创建一个.babelrc文件,输入如下内容

1
{
2
    "presets": [
3
      "es2015"
4
    ],
5
    "plugins": []
6
}

创建webpack配置文件webpack.config.js文件

1
const path = require('path');
2
const webpack = require('webpack');
3
const HtmlWebpackPlugin = require('html-webpack-plugin');
4
module.exports = {
5
    entry: path.join(__dirname,'src'),
6
    output: {
7
      filename: "public/main.js" //输出目录及文件名
8
    },
9
    module: {
10
      loaders: [
11
        { test: /\.js$/,loader: "babel-loader" }
12
      ]
13
    },
14
    resolve: {
15
      extensions: ['.js', '.jsx']
16
    },
17
    plugins: [
18
      new HtmlWebpackPlugin({
19
        template: './src/index.html'
20
      }),
21
      new webpack.HotModuleReplacementPlugin()
22
    ],
23
    devtool:'eval-source-map',
24
    devServer: {
25
      contentBase: "./public",//本地服务器所加载的页面所在的目录
26
      historyApiFallback: true,//不跳转
27
      inline: true,//实时刷新
28
      port: 8011//http端口
29
    }
30
  }

这样我们就搭建好了webpack的环境了,下面我们需要配置下运行的scripts命令就大功告成了!
在此我们需要在根目录下创建两个文件夹,一个是src,另一个是public,在src文件夹中新建两个文件,一个是index.js一个是index.html。

修改package.json

在package.json中找到scripts:{},在其中添加如下代码:

1
"start": "webpack",
2
"server": "webpack-dev-server --open",
3
"build": "webpack-dev-server --devtool eval --progress --colors --hot --content-base build"

如果需要直接build出一个main.js直接运行npm run build
如果想要直接在浏览器中查看效果直接运行npm run server

编写一段ES6的代码看看效果

打开src目录下的index.js文件输入以下代码:

1
let data = {
2
    id: 1,
3
    name: '张三',
4
    sex: '女',
5
    addr: '深圳南山'
6
}
7
let { id, sex, addr} = data
8
document.getElementById('people').innerText = `${id}, ${sex}, ${addr}`;

在index.html中增加一个div

直接运行npm run server如果没有任何错误的话,即可看到浏览器中显示了 1, 女, 深圳南山