(二)构建本地服务器webpack-dev-server
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
端口查看结果如下:
页面运行结果: