在安装 jest 之后,建筑物会引发一堆错误:file.d.ts' is not a module
Posted
技术标签:
【中文标题】在安装 jest 之后,建筑物会引发一堆错误:file.d.ts\' is not a module【英文标题】:right after installing jest the building throws a bunch of errors: file.d.ts' is not a module在安装 jest 之后,建筑物会引发一堆错误:file.d.ts' is not a module 【发布时间】:2021-12-19 19:18:08 【问题描述】:在基于 nodejs-typescript 的项目中安装 jest 时究竟会发生什么?在安装 jest (npm i -D jest @types/jest
) 之后,tsc
会抛出一堆错误,并带有关于我的类型 (index.d.ts' is not a module
) 的相同消息:
jeff@jeff:~/my-app$ tsc
node_modules/@types/babel__core/index.d.ts:11:34 - error TS2306: File '/home/jeff/my-app/src/types/index.d.ts' is not a module.
11 import GeneratorOptions from '@babel/generator';
~~~~~~~~~~~~~~~~~~
node_modules/@types/babel__core/index.d.ts:12:31 - error TS2306: File '/home/jeff/my-app/src/types/index.d.ts' is not a module.
12 import ParserOptions from '@babel/parser';
~~~~~~~~~~~~~~~
node_modules/@types/babel__core/index.d.ts:13:22 - error TS2306: File '/home/jeff/my-app/src/types/index.d.ts' is not a module.
13 import template from '@babel/template';
~~~~~~~~~~~~~~~~~
...s
我的 types 声明或 tsconfig.json 是否有问题?我该如何解决?
tsconfig.json:
"compilerOptions":
"target": "ES2020",
"lib": ["ESNext"],
"module": "commonjs",
"allowJs": true,
"outDir": "./build",
"esModuleInterop": true,
"paths":
"*": ["./src/types"]
,
"include": ["app.ts", "src"],
"exclude": [
"**/*.spec.?s",
"**/*.test.?s"
]
src/types/index.d.ts:
type Text = string;
app.ts:
const text: Text = 'ok'
console.log(text);
【问题讨论】:
【参考方案1】:我通过将以下内容添加到tsconfig.json
中的compilerOptions
解决了同样的问题:
"moduleResolution": "Node"`
我在 TypeScript GitHub 上找到了这个问题的解决方案:Targeting ES20XX results in errors when building。
【讨论】:
以上是关于在安装 jest 之后,建筑物会引发一堆错误:file.d.ts' is not a module的主要内容,如果未能解决你的问题,请参考以下文章
Rust 和 Flamegraph:使用 cargo 安装时出现一堆错误