我在玩firebase函数。使用命令firebase deploy --only functions部署到firebase服务器时工作正常。当然,在部署到服务器之前,我想在本地测试我的函数。我看到运行firebase serve的是,本地“部署”的函数没有我在indext.ts中所做的最新更改-正在运行index.js中的最新构建版本。
我的问题是,我如何手动构建我的firebase functions项目,以便使用最新的更改在本地测试它们?在本地部署项目之前,firebase serve是否应该自动构建项目?对我来说,这听起来像是个bug。
发布于 2018-07-19 21:26:17
如果您想在运行firebase serve或firebase functions:shell时将更改重新加载到您的TypeScript,您所要做的就是使用初始化项目时为您创建的npm脚本重新构建项目(请参阅package.json):
cd functions
npm run build这会将您的TypeScript转换为JavaScript,仿真器将自动获取对JavaScript的更改。
此外,如果您是更高级的TypeScript用户,则可以运行tsc --watch,以便当源文件在磁盘上发生更改时自动将TS编译为JS。您可以阅读有关该in this blog的更多信息。
发布于 2018-11-10 10:46:28
firebase serve似乎没有运行npm build。但是,如果您查看functions/package.json内部,您可以看到那里已经有一个执行npm run build && firebase serve --only functions的serve脚本。所以如果你这样做:
cd functions
npm run serve您无需执行两个单独的命令即可构建和服务。
发布于 2020-04-21 01:30:18
如果你正在寻找热重载,我只是做了如下所示:
"start:emulators": "firebase emulators:start --only functions",
"ts:watch": "tsc --watch",
"dev": "concurrently --kill-others \"npm run start:emulators\" \"npm run ts:watch\"",它将同时运行firebase和ts watch,这将有助于您的开发速度。
https://stackoverflow.com/questions/51416536
复制相似问题