将项目部署到 Vercel 时如何解决“节点模块错误”?

问题描述 投票:0回答:1

我正在使用世界国家,在 vercel 中部署时出现错误,提示“;”位于node_module目录中的世界国家的index.d.ts文件中缺少。

这就是 vercel 给我的:

编译失败。 ./node_modules/world-countries/index.d.ts:45:37 类型错误:';'预期的。 43 | 43翻译:{ [语言代码:字符串]:OfficialAndCommon } 44 | 44经纬度:[数字,数字]

45 | demoyms: { [languageCode: string]?: Demonyms } (这是需要修复的行) | ^ 46 | 46内陆地区:布尔值 47 | 47边框:字符串[] 48 | 48面积: 数量

我尝试删除“?”问题在文件中消失了,但 vercel 没有接受它。 我尝试使用另一种方式来表达它: Demonym: string 这是之前完成的方式 我尝试用各种方法来忽略它

什么都不起作用

typescript deployment node-modules vercel next.js13
1个回答
0
投票

删除

?
将修复该问题,但 Vercel 不会采用您本地的修改版本,因为 Vercel 会执行
npm install

看起来这个问题将在下一个版本的

world-countries
中得到解决,你可以在这个PR

中看到它

您有 2 个选择:

选项1

等待新版本的世界国家并做一个

npm install world-countries@latest

选项2

覆盖

index.d.ts
world-countries
,如何?

第1步创建您自己的index.d.ts文件

  • 创建一个文件夹

    types
    ,里面创建一个文件夹
    world-countries

  • 复制

    index.d.ts
     中的 
    ./node_modules/world-countries

  • 删除

    ?

第 2 步告诉 Typescript 使用它来代替包中的版本

  • 在您的
    tsconfig.json
    中添加新路径:
"world-countries": [
    "./types/world-countries/index.d.ts"
 ],
  • 应该看起来像这样:

为了测试它,我建议删除

node_modules
,然后进行干净的
npm install
,然后
npm run build

© www.soinside.com 2019 - 2024. All rights reserved.