无服务器离线:“路径”参数必须是字符串类型。收到未定义
Posted
技术标签:
【中文标题】无服务器离线:“路径”参数必须是字符串类型。收到未定义【英文标题】:Serverless Offline: The "path" argument must be of type string. Received undefined 【发布时间】:2021-07-14 19:27:13 【问题描述】:不知道为什么会发生这种情况,但我有一个非常简单的无服务器应用程序正在运行,但是现在当我运行 sls offline start
时,我得到了上面的错误。我找到了罪魁祸首,它是函数内部的events
。
这是serverless.yml
文件:
service: hello-world-offline
provider:
name: aws
runtime: nodejs12.x
region: eu-east-1
stage: dev
plugins:
- serverless-offline
functions:
hello-world:
handler: handler.handle # required, handler set in AWS Lambda
events:
- http:
path: hello-world
method: get
cors: true
这是handler.js
文件:
module.exports.handle = async (event, ctx, cb) =>
cb(null,
statusCode: 200,
body: JSON.stringify( message: "hello world" )
)
如果我去掉函数hello-world
中的events
,那么sls offline start
一切正常,当然我实际上无法在本地访问端点。我尝试通过添加引号使其成为硬字符串,但没有任何效果。
编辑:原来在使用yarn workspaces
时会发生这种情况。如果我把它放在packages/my-serverless-app
结构中并 cd 进入文件夹以运行sls offline start
命令,就会发生这种情况。如果我将它从结构中移除,它就可以正常工作。
【问题讨论】:
【参考方案1】:改变
events:
- http:
path: hello-world
method: get
cors: true
到
events:
- httpApi:
path: hello-world
method: get
这应该可以工作!
【讨论】:
以上是关于无服务器离线:“路径”参数必须是字符串类型。收到未定义的主要内容,如果未能解决你的问题,请参考以下文章
“路径”参数必须是字符串类型。收到未定义。未能验证 1 份合同
错误:“路径”参数必须是字符串类型。唱歌apk github动作时收到类型未定义
npm 发布失败,并显示““路径”参数必须是字符串类型。收到未定义”
NodeJS - TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。收到未定义
Nrwl:Storybook 给我错误 TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。收到未定义