Cra*_*les 8 firebase google-cloud-functions yarn-workspaces
根据带有 Yarn 工作区的 Firebase 函数,我想使用 Yarn 工作区将 monorepo 部署到 Firebase。我可以成功地将“web”方面部署到 Firebase 托管,它引用了一个共享的“核心”工作区。但是,尝试对 Firebase 函数上的“函数”工作区执行相同操作失败。
我正在使用具有以下文件夹结构的 Yarn Workspaces:
packages/
core/ // name: firebase-monorepo-core: custom core package
functions/ // name: firebase-monorepo-functions: firebase functions package
web/ // name: firebase-monorepo-web: react package
Run Code Online (Sandbox Code Playgroud)
这些已在根package.json文件中配置:
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/firebase-monorepo-core"
]
}
Run Code Online (Sandbox Code Playgroud)
在试图使纱线在工作区火力地堡(并因此分享我的core包)我使用的nohoist功能来创建符号链接到core工作区functions,并web按照twiz的#1的答案。
该core包还作为functionsand 中的依赖项存在web:
"dependencies": {
"firebase-monorepo-core": "*"
}
Run Code Online (Sandbox Code Playgroud)
当其中任何一个在本地运行时都没有问题,实际上将web包部署到 Firebase 托管工作正常。但是,将functions包部署到 Firebase 函数会引发错误:
我已经创建了一个 Github 存储库https://github.com/cjmyles/firebase-monorepo来演示这一点,web可以在https://fir-monorepo.firebaseapp.com上查看生成的工作区。
functions如果我yarn pack在core工作区中部署包并将其作为package.json文件中的 tarball 引用,我可以部署该包,但我真的不喜欢该解决方案,并且需要更多开销来实现自动化。
任何建议将不胜感激,以解决此问题。
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |