无服务器脱机将不会脱机运行:无法加载资源:net :: ERR_CONNECTION_REFUSED

时间:2019-11-27 09:48:00

标签: serverless serverless-offline

问题

在没有连接互联网时,我无法使无服务器脱机运行。

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是正确的。”

在调试问题方面的任何帮助将不胜感激。

1 个答案:

答案 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插件。这样,您就无需连接互联网。