什么是webpack
webpack是一个module bundler,可以将把有依赖关系的各种文件打包成一系列的静态资源
安装
首先我们安装最新版的webpack, 我安装的版本是2.2.1
| 1 | npm install -g webpack | 
下面我们将探讨webpack 2 的使用
我们可以直接在终端中使用webpack,命令如下
| 1 | webpack {源文件/入口文件} {目标文件} | 
考虑到随着我们项目复杂度的增高,有可能我们的配置选项也会很多,所以,我们完全可以将配置放到文件中, webpack在执行的时候默认会加载webpack.config.js文件作为配置, 如果我们需要指定配置文件的话,方法如下:
| 1 | webpack --config {配置文件} | 
我们来看下webpack都有哪些配置
| 1 | //webpack.config.js | 
下面我们来创建一个简单的项目
我们的项目结构如下
| 1 | . | 
index.html
| 1 | <!DOCTYPE html> | 
src/entry.js
| 1 | document.write('hello world') | 
webpack.config.js
| 1 | const path = require('path') | 
在终端下运行命令:
| 1 | webpack --watch | 
使用http-server起一个本地服务
| 1 | http-server -p 8080 | 
可以看到,entry.js的内容被打包到了bundle.js 中
这是webpack最简单的应用,下面我们来看看如何使用loader
loader
webpack2中已经集成了json-loader, 所以我们无需安装其他的依赖
在src中增加hello.json文件
| 1 | {"greet" : "hello from json"} | 
修改entry.js
| 1 | import json from './hello.json' | 
刷新http://127.0.0.1:8080/
可以看到hello.json的结果已经输出到浏览器中
使用其他loader
如果其他格式的文件,比如css文件我们可以使用相应的loader来解析,安装依赖
| 1 | npm install --save-dev style-loader css-loader | 
修改webpack.config.js
| 1 | const path = require('path') | 
entry.js
| 1 | import './main.css' | 
可以看到,main.css也经过loader的解析而打包进bundle.js里面了