我正在尝试完成从Parcel到Vite的迁移。我们使用Caddy通过Docker容器在本地反向代理自定义域。我遇到的问题是,当我在浏览器中加载客户端时,它不断刷新,控制台说Vite正在连接,然后“服务器连接丢失,轮询重新启动”循环。
下面是vite.config.json:
// @ts-ignore
import tailwindcss from "@tailwindcss/jit";
import react from "@vitejs/plugin-react";
// import reactRefresh from "@vitejs/plugin-react-refresh";
// @ts-ignore
import dotenv from "dotenv";
// import postcssImport from "postcss-import";
import presetEnv from "postcss-preset-env";
import { defineConfig } from "vite";
// export default (() => {
// Object.assign(process.env, loadEnv("", ".."));
// dotenv.config({ path: "../.env" });
// now you can access config with process.env.{configName}
export default defineConfig({
server: {
host: "0.0.0.0",
// hmr: false,
port: 1234,
},
plugins: [react()],
css: {
postcss: {
plugins: [
tailwindcss,
presetEnv({ stage: 1 }),
],
},
},
});
// });
我查看了容器日志,没有看到任何崩溃的报告。我试过修改配置,但没有任何真实的效果。
4条答案
按热度按时间ep6jt1vc1#
我有一个类似的问题,使用配置中的
clientPort
选项解决了我的问题。我也在Docker中使用Caddy,这里是我的配置:
我将其用作反向代理,这里的“front”引用了Vite在开发模式下提供的Vue应用程序。
通过在我的 vite.config.ts 中添加这个,它修复了这个问题。
链接到vite doc-server.hmr配置
不知道这是否是正确的解决方案。希望能有所帮助。
dbf7pr2w2#
我也在将Vue应用程序迁移到Vite的过程中。因此,我将
docker-compose.yml
中的ports
从标准Vue8080->8080
更改为Vite的3000->8080
(以保持向外端口相同)。然而,Vite不会知道这个端口重新Map。因此我需要将
clientPort: 8080
(我实际暴露的端口)添加到vite.config.js
:jgovgodb3#
我在使用nginx和ssl时遇到了类似的问题。它在端口80上尝试使用
ws
而不是wss
。您的详细信息会有所不同,但我查看了日志,看看nginx在做什么,然后查看浏览器,看看它试图做什么。这是我的(部分)vite.config.js
:ztyzrc3y4#
我有类似的问题,反向代理与nginx.该问题已修复:
将hmr路径添加到 * vite.config.js *
并添加nginx配置,用于反转 ws 路径