我们正在开发一个相当简单的 VueJS / Nuxt 应用程序,以使用 NodeJS 提供服务。该应用程序进行两次 API 调用 - 一次调用 Airtable,一次调用 Google Location API。
在我们的本地 (Ubuntu) 机器上运行这个
npm run dev
和 npm run build
按预期工作;我们可以直接通过 localhost:3000
或运行 NodeJS 服务器并以 /dist/
文件夹为目标在本地提供应用程序。
现在我们正试图让应用程序在我们的 (Ubuntu) DigitalOcean 登台服务器上运行,但它不会工作。
运行
npm run generate
(即nuxt generate
)返回以下错误:
Request failed with status code 400 23:14:06
at createError (node_modules/axios/lib/core/createError.js:16:15)
at settle (node_modules/axios/lib/core/settle.js:17:12)
at Unzip.handleStreamEnd (node_modules/axios/lib/adapters/http.js:269:11)
at Unzip.emit (node:events:390:28)
at endReadableNT (node:internal/streams/readable:1340:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
我将此解释为 API 调用之一存在问题 - 但我该如何解决此错误?
相同的代码在我们本地开发机器上的相同操作系统上运行。为什么它不能正确编译并在服务器上运行?
我最好的猜测是它在构建期间没有从
.env
文件中获取 API 密钥之一 - 但它应该按预期工作。
希望这会帮助其他人。通过使用 dotenv 在 store/index.js 下访问环境变量来解决我的问题,由于某种原因“process.env.VAR_NAME”不可读。
https://levelup.gitconnected.com/what-are-env-files-and-how-to-use-them-in-nuxt-7f194f083e3d