# 4. webpack 的配置文件 webpack.config.js
在命令行中运行 `webpack` 命令确实可以实现 `webpack` 的功能,但是我们一般不这么做,我们要用配置文件来处理。
我们把之前学到的知识用 `webpack` 的配置文件来实现,配置文件的名字叫 `webpack.config.js` 位于项目根目录下。
## 1. 创建配置文件 webpack.config.js
它的内容如下:
```
module.exports = {
entry: './src/app.js',
output: {
filename: './dist/app.bundle.js'
}
};
```
简单解释一下: `entry` 表示源文件,`output` 这边表示的是输出的目标文件。
很简单吧!
那怎么用呢?
直接在终端上输入 `webpack` 就可以了。`webpack` 命令会去找 `webpack.config.js` 文件,并读取它的内容(源文件和目标文件),最后进行相应的处理。
如下所示:
![](https://box.kancloud.cn/c72cb1ed918cf9e8b7a565bbe62cc788_921x419.png)
当然,`webpack.config.js` 的内容不止这么简单,可以更复杂些,我们以后再来介绍。
## 2. 改造 package.json 的 scripts 部分
还记得上次说过的 `package.json` 这个文件吗?它主要放了一些项目的介绍信息,除此之外,它还要一个重要的功能。
就是可以放一些常用的命令行脚本,比如我们可以把我们经常要用的 `webpack` 命令放到这里来。
我把它改了一下,变成类似下面这样:
```
{
"name": "hello-wepback",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "webpack -d --watch",
"prod": "webpack -p"
},
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^3.8.1"
}
}
```
改动的内容主要是增加了下面几行:
```
"scripts": {
"dev": "webpack -d --watch",
"prod": "webpack -p"
},
```
怎么用呢?
很简单,分别是
```
$ npm run dev
```
和
```
$ npm run prod
```
你会发现 `npm run dev` 和 `webpack -d --watch` 的效果是一样的。
`-d` 这个参数之前没介绍过,它的意思就是说包含 source maps,这个有什么用呢,就是让你在用浏览器调试的时候,可以很方便地定位到源文件,知道这个意思就好了,不用深究太多。
你会想,为什么要用 `package.json` 的 `scripts` 功能呢?
我觉得主要有两个原因吧:
第一:简单维护,所有的命令都放一起了,也能方便地查看
第二:别人下载了你的源码,一查看 `package.json` 就能知道怎么运行这个项目。
先说这么多。
- 0. 开始
- 1. 介绍
- 2. 安装
- 3. 实现 hello world
- 4. webpack 的配置文件 webpack.config.js
- 5. 使用第一个 webpack 插件 html-webpack-plugin
- 6. 使用 loader 处理 CSS 和 Sass
- 7. 初识 webpack-dev-server
- 8. 用 webpack 和 babel 配置 react 开发环境
- 9. 用 clean-webpack-plugin 来清除文件
- 10. 配置多个 HTML 文件
- 11. 如何使用 pug (jade) 作为 HTML 的模板
- 12. 如何使用模块热替换 HMR 来处理 CSS
- 13. 生产环境 vs 开发环境
- 14. 如何打包图片
- 15. 加载和打包 Twitter Bootstrap 框架
- 16. 使用 ProvidePlugin 插件来处理像 jQuery 这样的第三方包
- 17. 轻松通过两个实例来理解 devtool: 'source-map' 是什么意思
- 18. 构建开发和生产环境-分离配置文件