# Nest9.0 系列 - 04 - 通过 serverless.yml 配置 "层"

使用腾讯云 serverless 开发应用很重要的一个地方就是层的概念

所谓层,可以理解为程序的依赖库文件,比如 nodejs 的依赖库文件 node_modules

当我们每次更新部署的时候只传输打包后的代码,不传输 node_modules

当库文件没有变动的时候,层也就不用去变更

现在用腾讯云 Serverless cli 来管理层

在项目根目录下创建 layer 文件夹

里面创建 serverless.yml 文件

l
app: manager
stage: dev
component: layer
name: manager-layer
inputs:
  name: manager-layer
  region: ap-shanghai
  src:
    src: ./node_modules
    targetDir: /node_modules
  runtimes:
    - Nodejs16.13

package.json 文件复制到 layer 里一份,执行 yarn install --production 安装 dependencies 库文件

然后即可使用 sls deploy 进行部署层了

h
> sls deploy
serverless ⚡tencent
Action: "deploy" - Stage: "dev" - App: "manager" - Name: "manager-layer"
bucket:                sls-layer-ap-shanghai-code
description:           Layer created by serverless component
name:                  manager-layer
object:                manager-layer-1661497557.zip
region:                ap-shanghai
runtimes:
- Nodejs16.13
  sourceCodeDownloadUrl: https://sls-app-code-prod-1300862921.cos.ap-guangzhou.myqcloud.com/1252902543%2Fdev%2Fmanager%2Fmanager-layer%2Fsource.zip?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDfBS1NUcuMcgVSTqzRhiX6lBUbY4KeLXW%26q-sign-time%3D1661497572%3B1661501172%26q-key-time%3D1661497572%3B1661501172%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61f02ede01bc9e624097ca14f880fe4cc44a83a7
  version:               6
应用控制台: https://serverless.cloud.tencent.com/apps/manager/manager-layer/dev
88s »manager-layer» 执行成功

现在更新层版本的时候就不用去腾讯云后台上传文件夹了,极大的方便了我们更新部署代码.

请我喝杯[咖啡]~( ̄▽ ̄)~*

一个放羊娃 微信支付

微信支付

一个放羊娃 支付宝

支付宝