2 回答
TA贡献1772条经验 获得超5个赞
我最终尝试了两种不同的方法:
1. 创建一个指向我的应用程序的符号链接 ✅
在我的functions/
目录中,我创建了一个指向我的应用程序的符号链接: ln -s ../src ./src
然后functions/index.js
像这样更改了路径const app = require('../src/app') → const app = require('./src/app')
。
我能够通过模拟器套件对此进行测试,并且该函数也成功部署,并且我能够调用已部署的函数。
2.从我的应用程序创建本地模块❌
这种方法没有奏效。我修改了package.json
in/functions
目录,以便包含我的主要应用程序:
"dependencies: {
...
"app": "file://.."
...
}
然后/functions/index.js像这样改变const app = require('../src/app') → const app = require('app')。但这并不能解决问题,因为 Firebase 仅上传functions/目录,不会上传我的应用程序。
我想一种方法是实际创建我的应用程序的已发布模块,然后 Firebase 会安装它。我没有这样做,因为我真的不想发布我的应用程序。但这是一种方式。
TA贡献1796条经验 获得超4个赞
当 Firebase CLI 部署您的代码时,它仅使用“functions”文件夹中的文件。除此之外它不会部署任何东西。您的“src”文件夹位于外部,因此不会部署它。
您需要将“src/app/index.js”移动到函数文件夹内的某个位置,并更改您的require
指向它。或者,您需要以某种方式创建一个模块,当它不在本地运行时,您的 package.json 可以找到该模块。
添加回答
举报