拷贝文件
有时候,我们希望在构建时额外拷贝一些文件,默认情况下,我们会将根目录的 *.js, dist 等文件拷贝到最终产物中,除此之外,还提供了自定义拷贝的能力。 f.yml 中的 package 段落就是为了做这个事情。
示例
package: # 打包配置include: # 打包包含文件列表,默认为 package.json、构建后的代码和依赖- resource/*exclude: # 打包剔除文件列表- test/*artifact: code.zip # 打包后的压缩包文件名
:::info
package 字段不处理 src/**/*.ts 文件,一般常用于静态资源,json 等文件的拷贝,默认起始为项目根路径。
:::
高密度部署
将多个调用量(QPS)偏低的函数部署到一个容器内,能够减少容器数量并提高容器的热启动次数,从而实现成本的降低,高密度部署就是指在原有的函数调用方式保持不变的情况下,开发者无需改动代码就能很容易的将多个函数进行合并与拆分部署。
需要在 f.yml 中添加规则:
functions:index:handler: index.handlerevents:- http:path: /api/indexhome:handler: home.handlerevents:- http:path: /api/homeaggregation:combine: // 高密度部署后的函数名,自定义functions: // 要把哪些函数进行合并部署- index- home
通过高密度部署之后,会使用 “combine 函数” 将 /api/index 与 /api/home 进行拦截,然后转发到对应的逻辑上进行执行,实现一个函数承载多个函数。
:::info 本质上,高密度部署就是把多个函数聚合到同一个函数容器中。 :::
