问题
在没有连接互联网时,我无法使无服务器脱机运行。
serverless.yml
service: my-app
plugins:
- serverless-offline
# run on port 4000, because client runs on 3000
custom:
serverless-offline:
port: 4000
# app and org for use with dashboard.serverless.com
app: my-app
org: my-org
provider:
name: aws
runtime: nodejs10.x
functions:
getData:
handler: data-service.getData
events:
- http:
path: data/get
method: get
cors: true
isOffline: true
saveData:
handler: data-service.saveData
events:
- http:
path: data/save
method: put
cors: true
isOffline: true
要启动无服务器脱机,我在终端中运行serverless offline start
。当我连接到Internet时,此方法有效,但在脱机时,出现以下错误:
控制台错误
:4000/data/get:1 Failed to load resource: net::ERR_CONNECTION_REFUSED
20:34:02.820 localhost/:1 Uncaught (in promise) TypeError: Failed to fetch
终端错误
FetchError: request to https://api.serverless.com/core/tenants/{tenant}/applications/my-app/profileValue failed, reason: getaddrinfo ENOTFOUND api.serverless.com api.serverless.com:443
请求
我怀疑原因是因为我不确定如何使用指令离线设置:“传递给您的λs的事件对象有一个额外的键:{ isOffline: true }
。而且,process.env.IS_OFFLINE
是正确的。”
在调试问题方面的任何帮助将不胜感激。
答案 0 :(得分:0)
可能您已经修复它,但是问题是因为app和org属性
# app and org for use with dashboard.serverless.com
app: my-app
org: my-org
使用它时,无服务器将使用serverless.com上的配置设置,通常是环境变量。
要使用env var,可以使用pluginless-dotenv-plugin插件。这样,您就无需连接互联网。