首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Serverless部署带有大堆栈的阿波罗问题

使用Serverless部署带有大堆栈的阿波罗问题
EN

Stack Overflow用户
提问于 2018-11-30 09:28:11
回答 1查看 231关注 0票数 1

我一直在大堆栈启动中开发一个应用程序,在克服了许多障碍之后,我终于想要部署它并看到它运行。我的目标是在亚马逊上做这一切。前端服务正常,Neo4j实例运行在EC2实例上。

由于大堆栈启动程序使用的是阿波罗,他们的网站建议使用Serverless。我认为我遇到的问题是缺少有关所需文件夹结构的信息。大堆栈启动程序有一个src文件夹,其中核心文件与位于较高目录的package.json共存。

Serverless说要在根目录中创建一个serverless.yml文件,我有一个比源代码更高的目录。它的内容是一成不变的:

代码语言:javascript
复制
# serverless.yml
service: apollo-lambda
provider:
  name: aws
  runtime: nodejs6.10
  region: us-west-2
  stage: production
functions:
  graphql:
    # this is formatted as <FILENAME>.<HANDLER>
    handler: graphql.graphqlHandler
    events:
    - http:
        path: graphql
        method: post
        cors: true

运行无服务器部署确实成功地打包了文件,将它们推送到S3桶并将其添加到Lambda中。它的重量约为10毫巴。但是,当我在AWS Lambda中尝试对创建的Lambda函数运行测试时,它会说“无法找到模块'/var/task/graphql”。

感觉好像它无法访问我的node_modules。有些人让打包的zip文件意外地包装了所有的文件夹,但是由Serverless生成的阿波罗-lambda.zip并没有这样做。我能很好地看到我的根结构。

在过去的两天里,我花了很多时间来解决我最初认为的502个错误,然后是403个错误,试图找出我忘了做什么事情的地方,直到我达到这个地步。任何帮助都将不胜感激。

坦率地说,我只是不确定在部署时我的文件夹结构应该是什么样子。如果我在src文件夹中移动serverless.yml,它将不具有package.json或node_modules文件夹

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-01 07:58:50

因此,我不得不重新工作我的代码。在技术上回答我问题的问题是,我在serverless.yml中找到了处理程序选项,让我向下走,这样我就能够指示构建来查看src/中的文件。

然而,在此之后的另一个问题是,我不得不将所有导入语句重新工作,而不是用require语句来继续。即使使用更新的nodejs版本,我也无法让导入在Lambda上工作。也许有办法解决这个问题,但我还没找到。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53554682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档