我有一个安装了几个模块的节点项目。
"dependencies": {
"@types/express": "^4.11.1",
"@types/express-fileupload": "^0.1.1",
"@types/mongodb": "^3.0.12",
"@types/npm": "^2.0.29",
"express": "^4.16.3",
"express-fileupload": "^0.4.0",
"log4js": "^2.5.3",
"mongodb": "^3.0.5"
}
当我使用tsc -p调用typescript编译器时。我收到以下错误:
app.ts(5,24):错误TS2307:找不到模块' log4js'。
我可以通过将以下内容添加到tsconfig.json中的编译器选项来成功编译:
"moduleResolution": "node"
但是为什么在默认的模块分辨率下,log4js是唯一找不到的模块?由于所有模块都在同一个文件夹中,我希望编译器能够找到全部或全部模块。
答案 0 :(得分:0)
log4js
在其package.json
中指定了类型,但classic
没有从非package.json
个文件夹中读取@types
个条目。
正如命名所暗示的,这是"经典"行为而不是某些人可能真正想要的行为,而且主要是出于反对的原因而提供。