我们之前一直都在用live-server充当本地服务器,其实它和webpack是不搭的,我们可以利用webpack自带的webpack-dev-server来构建一个本地服务器。它让你的浏览器检测你的代码修改,并自动刷新修改后的结果,它是基于node.js构建。webpack-dev-server是一个单独的组件,在webpack中进行配置之前需要单独安装它作为项目依赖。
1、安装webpack-dev-server
本地依赖
1 | npm install --save-dev webpack-dev-server |
全局安装
1 | npm install -g webpack-dev-server |
2、在webpack.config.js中配置devserver选项:
- contentBase : 默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录。
- port :设置默认监听端口,如果省略,默认为”8080″
- inline : 设置为true,当源文件改变时会自动刷新页面
- colors : 设置为true,使终端输出的文件为彩色的
- historyApiFallback :在开发单页时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html
- host : 主机地址,如果是开发本机搭建,需要使用本机IP地址,否则会报错。
配置文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | module.exports = { entry: __dirname + '/main.js', output: { path: __dirname + '/', filename: 'bundle.js' }, devServer: { contentBase: './', //本地服务器所加载的页面所在的目录 host: '192.168.1.158', //本地IP地址 colors: true, //终端输出结果为彩色 historyApiFallback: true, //不跳转 inline: true, //实时刷新 port: '3333' //端口号
} } |
3、在终端中输入命令,开启运行本地服务器。它不仅提供了服务器,还会监视我们的文件变化自动更新效果,但是它不是真正的打包,它类似于在内存中进行了打包。所以本地文件并没有变化。
1 | webpack-dev-server |
其实webpack构建服务器才是正道,如果你使用了webpack,那么尽量使用webpack-dev-server吧,这能大大提高您的工作效率。