webpack.config.js就是Webpack的配置文件,这个文件须要本身在项目根目录下手动创建。创建好后咱们对其进行配置,先看下面的代码(webpack.config.js的基本结构),这是一个没有内容的标准webpack配置模版。webpack
webpack.config.jsweb
module.exports={ //入口文件的配置项 entry:{}, //出口文件的配置项 output:{}, //模块:例如解读CSS,图片如何转换,压缩 module:{}, //插件,用于生产模版和各项功能 plugins:[], //配置webpack开发服务功能 devServer:{} }
entry:配置入口文件的地址,能够是单一入口,也能够是多入口。
output:配置出口文件的地址,在webpack2.X版本后,支持多出口配置。
module:配置模块,主要是解析CSS和图片转换压缩等功能。
plugins:配置插件,根据你的须要配置不一样功能的插件。
devServer:配置开发服务功能ui
这个选项就是配置咱们要压缩的文件通常是JavaScript文件(固然也能够是CSS…..)。webpack2
wepback.config.js中的entry选项插件
//入口文件的配置项 entry:{ //里面的entery是能够随便写的 entry:'./src/entry.js' },
出口配置是用来告诉webpack最后打包文件的地址和文件名称的。code
//出口文件的配置项 output:{ //打包的路径 path:path.resolve(__dirname,'dist'), //打包的文件名称 filename:'bundle.js' },
若是你只这样写,是会报错的:找不到path这个东西。因此咱们要在webpack.config.js的头部引入path,代码以下:图片
const path = require('path');
其实path.resolve(__dirname,’dist’)就是获取了项目的绝对路径。ip
filename:是打包后的文件名称,这里咱们起名为bundle.js。开发
如今webpack.config.js的代码:require
const path = require('path'); module.exports={ //入口文件的配置项 entry:{ entry:'./src/entry.js' }, //出口文件的配置项 output:{ //输出的路径,用了Node语法 path:path.resolve(__dirname,'dist'), //输出的文件名称 filename:'bundle.js' }, //模块:例如解读CSS,图片如何转换,压缩 module:{}, //插件,用于生产模版和各项功能 plugins:[], //配置webpack开发服务功能 devServer:{} }
这个代码写完后,能够在终端中直接输入webpack就会进行打包。
在实际开发中咱们都是经过配置文件进行打包的,因此必需要掌握好。
Webpack在版本1的时候很难设置多出口文件,可是在2版本开始就变的很方便了。直接看多入口和多出口的文件配置,而后能够和单一出口对比一下,你会发现这种设置很是简单(只需改动两点配置就能够)。
const path = require('path'); module.exports={ //入口文件的配置项 entry:{ entry:'./src/entry.js', //这里咱们又引入了一个入口文件 entry2:'./src/entry2.js' }, //出口文件的配置项 output:{ //输出的路径,用了Node语法 path:path.resolve(__dirname,'dist'), //输出的文件名称 filename:'[name].js' }, //模块:例如解读CSS,图片如何转换,压缩 module:{}, //插件,用于生产模版和各项功能 plugins:[], //配置webpack开发服务功能 devServer:{} }
能够看到代码,在入口文件配置中,增长了一个entry2.js的入口文件(这个文件你须要本身手动创建),这时候要打包的就有了两个入口文件。咱们把原来的bundle.js修改为了[name].js。
[name]的意思是根据入口文件的名称,打包成相同的名称,有几个入口文件,就能够打包出几个文件。