1.0.14 • Published 1 year ago

vite-plugin-http2-ws v1.0.14

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

README for english

vite-http2.jpg

npm i vite-plugin-http2-ws

fork 自 strongcode9527/vite-plugin-http2 ,在其上增加 websocket 支持。

vite-plugin-http2-ws 是一个 vite 插件,是为了解决 vite 无法同时开启 proxy 代理以及 http2 的问题

这个插件可以解决一下难题

  • 使用 devcert 库自动生成 https 证书,并且自动配置在系统内部(第一次进入开发环境,需要输入密码将证书放入系统指定目录)
  • 使用 http2-proxy 进行代理转发。
  • 有限支持 websocket,仅 log error 不能处理。
// vite.config.js

import http2 from "vite-plugin-http2-ws";

export default {
  plugins: [
    http2({
      // 如果你的开发环境只是用 localhost 开发,这个配置项可以忽略
      certificateDomain: ["my-test.xxx.com"],
      proxy: {
        // 创建正则表达式的字符串,这里识别需要代理的接口
        "^/api": {
          hostname: "localhost",
          port: 7001,
          async onReq(req, options) {
            // 如果路径需要修改,可以在这里修改添加
            options.path = `/prefix/${options.path}`;
          },
          // 指明需要ws代理
          ws: true,
        },
      },
      // 如果 https 证书创建失败,可以自己创建,并在这里传入
      ssl: {
        key: "",
        cert: "",
      },
      // 超时时间,不填则为node环境http_request默认超时时间
      timeout: 1000,
    }),
  ],
};
keydescdefault
proxyproxy http2-proxy options-
certificateDomainHTTPS certificate domain name'localhost'
sslif devcert create certificate fail,you can pass your ssl option-
timeouttimeout specification-

使用过程中 https 证书创建失败,或出现诡异问题,可使用此命令清除证书创建的缓存。

重启开发环境后,便可重新创建 https 证书。

// mac

rm -rf ~/Library/"Application Support"/devcert/