部署TypeScript版Google Cloud Function,默认会上传.ts文件吗?如何仅部署lib文件夹?
Firebase函数部署相关问题解答
1. .ts文件被上传是默认行为吗?
是的,Firebase CLI默认会上传函数目录下的所有文件(除了firebase.json中ignore配置明确排除的内容),所以你的src目录下的.ts文件会被一并上传,这属于默认行为。
2. 如何实现构建后仅部署lib文件夹内容?
有两种可行方案:
方案一:指定函数部署根目录
在firebase.json的functions配置中,通过source字段直接将lib文件夹设为部署的根目录,CLI会仅上传该目录下的内容。示例配置如下:
{ "functions": { "source": "./lib" } }
注意:需确保lib文件夹内包含package.json(可在构建时将根目录的package.json复制到lib,或在lib中单独维护必要的依赖配置),否则部署会失败。
方案二:通过ignore配置排除冗余文件
若不想修改部署根目录,可在firebase.json的ignore数组中添加需要排除的文件/目录,示例:
{ "functions": { "ignore": [ "src/**", "tsconfig.json" ] } }
这样部署时会跳过src目录下所有.ts文件及tsconfig.json,仅保留lib和必要配置文件。
另外,建议部署前先执行构建命令(如tsc)确保lib文件夹是最新编译结果,避免部署旧代码。
内容的提问来源于stack exchange,提问作者Jordan
相关产品推荐
相关产品推荐

