Firebase Cloud Functions的打字稿:为什么在Angular项目中的functions文件夹出现但在自己的项目中孤立时却出现构建错误?

时间:2018-08-14 04:13:12

标签: typescript firebase build google-cloud-functions

出于某种原因,firebase deploy --only functions包含外部webapp项目的node_modules,请参见以下输出:

i  deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run build

> functions@ build /Users/username/data/projects/projectname/webapp/prp-cli/functions
> tsc

../node_modules/@types/jspdf/index.d.ts(186,32): error TS2304: Cannot find name 'HTMLElement'.

请注意,jsPdf不是功能的依赖项,而是包含functions文件夹的webapp的依赖项。

将功能文件夹隔离到一个单独的项目中时,功能的构建/部署工作正常。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您不能在托管和功能之间共享node_modules文件夹。您已经发现,它们应该是单独的节点项目。

此外,运行firebase deploy --only functions时未部署node_modules。实际上,当前不支持完全实现的node_modules。相反,Cloud Functions将查看您的functions项目中的package.json(package-lock.json),并有效执行npm install来组装其中列出的所有依赖项。