typescript Vercel无服务器API类型脚本中的“ERR_MODULE_NOT_FOUND”

4szc88ey  于 2023-01-10  发布在  TypeScript
关注(0)|答案(1)|浏览(180)

我创建了一个Vite项目(Vue3和Typescript),感谢Vercel,我还创建了允许检索一些数据的不同端点。
我的想法是让一个\api文件夹包含所有端点,另一个\backend文件夹包含所有业务逻辑,因此文件系统将如下所示:

api\
    index.ts
backend\
    enum.ts
    consts.ts
    logic.ts
src\
    ... vue files ...

.eslintrc.json
.prettierrc
tsconfig.json
...

但是,最近我部署了一个新版本的应用程序,无服务器API(api\index.ts)停止工作,因为它找不到模块../backend/const.ts
堆栈跟踪如下所示:

2023-01-07T09:43:18.189Z    XXX ERROR   Error: Cannot find module '/var/task/backend/const' imported from /var/task/api/index.js
    at new NodeError (node:internal/errors:393:5)
    at finalizeResolution (node:internal/modules/esm/resolve:328:11)
    at moduleResolve (node:internal/modules/esm/resolve:965:10)
    at moduleResolveWithNodePath (node:internal/modules/esm/resolve:909:12)
    at defaultResolve (node:internal/modules/esm/resolve:1173:79)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:841:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
    at link (node:internal/modules/esm/module_job:75:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

index.ts中导入所有需要的常量和函数时,我使用了符号import { a } from '../backend/const',但它似乎不再有效。

  • 我已经尝试过移动api文件夹中的所有文件(在一个文件中,不超过允许的最大API端点),但没有成功。
  • 我试过更新参考资料,但没有用。
  • 我试过重新部署一切,但没有用。
  • 我尝试过更改节点版本(从1618),但没有成功。
  • 我尝试将tsconfig.json中的targetESNext更改为ES2019,但没有成功。

奇怪的是,它在本地环境中工作,但在生产中不工作。
有人有什么办法来修复或调试这个问题吗?

bq3bfh9z

bq3bfh9z1#

参见https://github.com/vercel/community/discussions/1225
现在,您可以将Vercel项目中的环境变量VERCEL_CLI_VERSION设置为vercel@28.10.2

相关问题