我正在使用世界国家,在 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 这是之前完成的方式 我尝试用各种方法来忽略它
什么都不起作用
删除
?
将修复该问题,但 Vercel 不会采用您本地的修改版本,因为 Vercel 会执行 npm install
。
看起来这个问题将在下一个版本的
world-countries
中得到解决,你可以在这个PR中看到它
您有 2 个选择:
等待新版本的世界国家并做一个
npm install world-countries@latest
覆盖
index.d.ts
的world-countries
,如何?
第1步创建您自己的index.d.ts文件
第 2 步告诉 Typescript 使用它来代替包中的版本
tsconfig.json
中添加新路径:"world-countries": [
"./types/world-countries/index.d.ts"
],
为了测试它,我建议删除
node_modules
,然后进行干净的npm install
,然后npm run build
。