如何在Serverless Framework或AWS Lambda中启用Node.js实验特性
启用Node.js实验特性的配置方法
你可以通过Serverless Framework配置实现部署自动生效,也可以直接在AWS Lambda侧手动配置,两种方案如下:
方案1:通过Serverless Framework配置
你只需要在serverless.yml中给对应函数配置NODE_OPTIONS环境变量,填入你需要开启的实验特性启动参数即可,配置完成后执行sls deploy就会自动同步到Lambda。
你可以选择全局配置所有函数生效,也可以单独给指定函数配置:
全局配置(所有函数生效)
在provider配置块下添加环境变量:
provider: name: aws runtime: nodejs18.x # 替换为你实际使用的Node.js运行时版本 environment: NODE_OPTIONS: "--experimental-fetch --experimental-specifier-resolution=node" # 替换为你需要的实验特性flag
单函数配置(仅指定函数生效)
在对应函数的配置块下单独添加环境变量:
functions: 你的函数名称: handler: index.handler environment: NODE_OPTIONS: "--experimental-modules" # 替换为你需要的实验特性flag
方案2:直接在AWS Lambda控制台手动配置
- 登录AWS控制台,进入Lambda服务页面,找到目标函数
- 切换到「配置」标签页,点击左侧菜单的「环境变量」选项
- 点击「编辑」按钮,新增一条环境变量,键为
NODE_OPTIONS,值为你需要的Node.js实验特性启动参数 - 点击「保存」即可立即生效,无需重新部署代码
注意事项
- 请确保你使用的Node.js运行时版本支持你要开启的实验特性,低版本运行时可能不存在对应实验flag
- AWS Lambda中
NODE_OPTIONS环境变量的总长度不能超过1024字符,按需添加需要的flag即可
内容的提问来源于stack exchange,提问作者spurushottam13
相关产品推荐
相关产品推荐

