我创建了一个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端点),但没有成功。 - 我试过更新参考资料,但没有用。
- 我试过重新部署一切,但没有用。
- 我尝试过更改节点版本(从
16
到18
),但没有成功。 - 我尝试将
tsconfig.json
中的target
从ESNext
更改为ES2019
,但没有成功。
奇怪的是,它在本地环境中工作,但在生产中不工作。
有人有什么办法来修复或调试这个问题吗?
1条答案
按热度按时间bq3bfh9z1#
参见https://github.com/vercel/community/discussions/1225
现在,您可以将Vercel项目中的环境变量
VERCEL_CLI_VERSION
设置为vercel@28.10.2
。