webpack-dev-server

如果想让你的浏览器监听你的代码的修改,并自动刷新显示修改后的结果,那你就需要单独安装它作为项目依赖。

npm install webpack-dev-server -g // 全局安装
npm install webpack-dev-server --save-dev // 项目内安装 此练习是在根目录下安装
  • 是一个小型node.js express服务器
  • 新建一个开发服务器,可以serve我们pack以后的代码,并且当代码更新的时候自动刷新浏览器
  • 启动​​webpack-dev-server​​后,你在目标文件夹中是看不到编译后的文件的,实时编译后的文件都保存到了内存当中
  • 注:如果要全局安装着个命令,那么在全局安装完webpack之后就可以执行这个命令,如果只是要安装到项目中,在项目根目录下安装(不加-g,在项目根目录出现node_modules文件夹,内含​​webpack-dev-server​​及其依赖包)

​devserver​​作为webpack配置选项中的一项,以下是它的一些配置选项

配置选项

描述

contentBase

默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录(本例设置到“common"目录)

port

设置默认监听端口,如果省略,默认为”8080“

inline

设置为true,当源文件改变时会自动刷新页面

historyApiFallback

在开发单页应用时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html

如果想看更多配置选项请点击​​查看更多​​​本文以webpack文章的demo为例,如果未阅读上文,并且想了解完整过程请点击​​回到上文​​在​​webpack.config.js​​配置文件中添加如下代码:

module.exports = {
...
devServer: {
contentBase: "./common", // 本地服务器所加载的页面所在的目录
historyApiFallback: true, // 不跳转
inline: true // 实时刷新
}
}

在​​package.json​​​中的​​scripts​​对象中添加如下命令,用以开启本地服务器:

{
...
"scripts": {
...
"server": "webpack-dev-server --open"
},
...
**2.0版本**
"devDependencies": {
"webpack": "^3.5.6",
"webpack-dev-server": "^2.5.1"
}
**4.0版本**
"devDependencies": {
"webpack": "^4.29.5",
"webpack-cli": "^3.2.3",
"webpack-dev-server": "^3.1.14"
}
}

**注意:​​webpack​​​版本与​​webpack-dev-server​​​版本有兼容,注意查看版本号。
在终端中输入​​​npm run server​​​即可在本地的​​8080​​端口查看结果如下:

 

(二)构建本地服务器webpack-dev-server_自动刷新

image.png

页面运行结果:

 

(二)构建本地服务器webpack-dev-server_自动刷新_02

image.png