webpack之devServer配置

DevServer 是webpack开发服务器。


首先,下载webpack-dev-server库

$ npm i -D webapck-dev-server

配置package.json:

配置webpack.config.js

当运行npm run dev的时候,devServer首先会在内存中创建类似的dist目录,在由浏览器打开进行预览。


webpack-dev-server其它配置

devServer.open

在DevServer第一次构建完成时,自动用浏览器打开网页,默认是true

open: true

devServer.openPage

配置项用于打开指定 URL 的网页。
openPage: '/different/page'

同样也可以配置package.json:


devServer.hot

启用 webpack 的模块热替换特性。DevServer默认的行为是在发现源代码被更新后会通过自动刷新整个页面来做到实现预览,开启模块热替换功能后在不刷新整个页面的情况下通过用心模块替换老模块来实现实时预览。

hot: true

devServer.host

devServer.host 配置项用于配置DevServer服务器监听的地址。

如果你想要局域网中其他设备访问你本地的服务,可以在启动的时候带上 --host 0.0.0.0,也就是在我们的package.json中配置:


我的IP地址是:10.10.42.3。那么像上图这样配置后,

局域网内其它机器需要访问:10.10.42.3:8080 。

本机访问:10.10.42.3:8080 或者 localhost:8080 或者 127.0.0.1:8080


devServer.proxy

  • 当您有一个单独的API后端开发服务器,并且想要在同一个域上发送API请求时,则代理这些 url 。看例子。
proxy: {
    '/proxy': {
        target: 'http://your_api_server.com',
        changeOrigin: true,
        pathRewrite: {
            '^/proxy': ''
        }
}
  • 假设你主机名为 localhost:8080 , 请求 APIurlhttp://your_api_server.com/user/list
  • '/proxy':如果点击某个按钮,触发请求 API 事件,这时请求 urlhttp://localhost:8080/proxy/user/list
  • changeOrigin:如果 true ,那么 http://localhost:8080/proxy/user/list 变为 http://your_api_server.com/proxy/user/list 。但还不是我们要的 url
  • pathRewrite:重写路径。匹配 /proxy ,然后变为'' ,那么 url 最终为 http://your_api_server.com/user/list


devServer.allowedHosts

This option allows you to whitelist services that are allowed to access the dev server.

devServer.allowedHosts 配置一个白名单列表,只有HTTP请求的HOST在列表里才正常返回,使用如下:

allowedHosts: [
  '.host.com',
  'subdomain.host.com',
  'subdomain2.host.com',
  'host2.com'
]

Mimicking django's ALLOWED_HOSTS, a value beginning with . can be used as a subdomain wildcard. .host.com will match host.com, www.host.com, and any other subdomain of host.com.

.host.com 将匹配 host.com 和 *.host.com

devServer.compress

配置是否启用 gzip 压缩。boolean 为类型,默认为 false。

compress: true
或者也可以在执行命令的时候添加 --compress


这个属性到底是影响了哪里的压缩???


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值