我正在Vue3中构建一个应用程序,用Vite作为我的捆绑器和开发服务器。我用Firebase作为后端。我让托管模拟器在本地工作,但它指向构建输出所在的/dist目录。虽然这样做可以正常工作,但每次都需要手动重新构建才能获得更改。相反,我希望能够配置托管模拟器,以便在本地开发时服务于Vite dev服务器。因此,它本质上将端口3000上的Vite应用代理到端口5000上的托管模拟器URL。这将允许测试托管重写规则,包括指向云函数的规则。
/dist
qxsslcnc1#
我所做的就是使用vite dev服务器,并将firebase主机指向dist文件夹。我将firebase.json文件更改为:“托管”:{“公共”:“距离”、“忽略”:[“firebase.json”、“/.*"、“/节点模块/**”] },以及用于宿主模拟器的“主机”:{“端口”:5000 },我从来没有找到一种方法来让主机模拟器作为一个开发服务器。但是,只要使用我的vite开发服务器,我就可以连接到模拟器和我的生产服务。Vite开发服务器毕竟是一个客户端。当在本地使用云函数时,这意味着我必须在函数头中添加cors,一切都很好。
pkbketx92#
Firebase主机模拟器有自己的运行环境,其中不包括任何工具/环境来运行Vite dev模式。它只提供静态文件并读取firebase.json文件,以了解是否应重定向请求设置响应头等。模拟器可能仅适用于静态文件,所以只有一个选项,你会建立你的项目,每次你想检查它是否在仿真器中工作。我通常使用每一个仿真器,除了托管当我'我在需要webpack或Vite的框架中工作。
2条答案
按热度按时间qxsslcnc1#
我所做的就是使用vite dev服务器,并将firebase主机指向dist文件夹。我将firebase.json文件更改为:“托管”:{“公共”:“距离”、“忽略”:[“firebase.json”、“/.*"、“/节点模块/**”] },以及用于宿主模拟器的
“主机”:{“端口”:5000 },
我从来没有找到一种方法来让主机模拟器作为一个开发服务器。但是,只要使用我的vite开发服务器,我就可以连接到模拟器和我的生产服务。Vite开发服务器毕竟是一个客户端。
当在本地使用云函数时,这意味着我必须在函数头中添加cors,一切都很好。
pkbketx92#
Firebase主机模拟器有自己的运行环境,其中不包括任何工具/环境来运行Vite dev模式。它只提供静态文件并读取firebase.json文件,以了解是否应重定向请求设置响应头等。模拟器可能仅适用于静态文件,所以只有一个选项,你会建立你的项目,每次你想检查它是否在仿真器中工作。我通常使用每一个仿真器,除了托管当我'我在需要webpack或Vite的框架中工作。