reactjs - Netlify Lambda GraphQL importModuleError
问题描述
我已经尝试了一段时间来弄清楚为什么这个构建在服务这个 GraphQL 端点时一直失败。
这是我尝试访问 GraphQL 端点的 Netlify Lambda 函数时遇到的错误。 https://grumble2.netlify.app/.netlify/functions/graphql
我不确定,但似乎 Netlify Lambda/Functions 正在努力为服务器上的端点提供服务,在这个阶段我不再确定为什么。是 babel 相关的,是 webpack 配置还是我错过的 Netlify Lambda 配置?
{
"errorType":"Runtime.ImportModuleError",
"errorMessage":"Error: Cannot find module 'apollo-server-lambda'\nRequire stack:\n- /var/task/bundle/serve.js\n- /var/task/graphql.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
"trace":[
"Runtime.ImportModuleError: Error: Cannot find module 'apollo-server-lambda'",
"Require stack:",
"- /var/task/bundle/serve.js",
"- /var/task/graphql.js",
"- /var/runtime/UserFunction.js",
"- /var/runtime/index.js",
" at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
" at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
" at Object.<anonymous> (/var/runtime/index.js:43:30)",
" at Module._compile (internal/modules/cjs/loader.js:1156:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)",
" at Module.load (internal/modules/cjs/loader.js:1000:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:899:14)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)",
" at internal/main/run_main_module.js:18:47"
]
}
我在根目录中有我的函数文件夹
/functions
|-/bundle (graphql files from src)
|-package.json
|-graphql.js
我的 Netlify.toml 文件
[build]
command = "npm run build && npm run bundle && npm run build:lambda"
base = ""
functions = "functions"
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
我的根package.json
脚本
"scripts": {
"server": "node --experimental-modules ./src/graphql/index.js",
"start": "HTTPS=true webpack-dev-server --mode development --open --hot",
"build": "webpack",
"bundle": "cpx \"src/graphql/**/*\" \"functions/bundle\"",
"test": "react-scripts test",
"jest": "jest",
"jest:watch": "jest --watch",
"eject": "react-scripts eject",
"storybook": "start-storybook -p 9001 -c .storybook",
"precommit": "lint-staged",
"eslint:global": "eslint src -c src/.eslintrc.js --ext .js,.jsx,.tsx,.ts",
"eslint:global:fix": "eslint --fix src -c src/.eslintrc.js --ext .js,.jsx,.tsx,.ts",
"start:lambda": "netlify-lambda serve src/graphql",
"build:lambda": "netlify-lambda build src/graphql --config webpack.config.js"
},
这是 repo 的功能分支以及其余文件 https://github.com/hghazni/Grumble/tree/netlify/lambda-graphql-server
如果有人知道为什么这很难服务,我将不胜感激!
解决方案
推荐阅读
- r - R - ggplot - 排除一个值并在条形图上保留原始比率
- javascript - 为什么我使用 Fetch 从一个 api 调用中获取两组数据?
- c++ - 如何暂停函数内的程序,直到用户在表单上执行某些操作
- python - 打印出 Sphinx 指令来自的方法/函数名称
- node.js - 如何正确使用迁移
- excel - 通过运行 saveas 2003 xls 的连续循环,内存耗尽,重新打开 xlsm,关闭 2003 xls
- python-3.x - 如何使用 Selenium 和 Python 点击链接
- django - KeyError at - request - django templatetag
- django - 如何将 Oracle 中旧数据库的表视图映射到 django 模型?
- python-3.x - 列表索引必须是整数或切片,而不是元组:TypeError - Python