我已经阅读了这些类似的问题:
tsc throws `TS2307: Cannot find module` for a local file - 我的问题不同,因为我安装本地软件包,而不仅仅是引用本地文件。
error TS2307: Cannot find module (external, private module) - 我的问题可能与此问题类似(我没有足够的细节来确定)。但启用noResolve
会导致其他问题(而且看起来像黑客,因为我看到macOS / Linux / Windows之间的行为有所不同)
在我的Typescript项目中,我有两个目录:
core/
package.json
...
app/
package.json
...
在app/
内我使用core/
安装了yarn
模块,如下所示:
yarn add file:../core
以app/package.json
显示为:
{
...
"dependencies": {
...
"my-core": "file:../core",
...
}
}
在macOS和Linux上,从tsc
内运行app/
可以正常工作。但是当我在Windows上运行tsc
时,我得到了这个:
C:\proj\app>cmd /c yarn compile
yarn compile v0.27.5
$ cross-env NODE_ENV=production tsc
src/thing/appstate.ts(4,29): error TS2307: Cannot find module 'my-core'.
error Command failed with exit code 2.
这是我的app/tsconfig.json
:
{
"compilerOptions": {
"target": "es2017",
"module": "umd",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"noImplicitAny": false,
"noImplicitThis": false,
"noUnusedLocals": true,
"noUnusedParameters": false,
"sourceMap": true,
"jsx": "react",
"listEmittedFiles": false,
"lib": ["es2017", "dom"]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx"
],
"exclude": [
"node_modules"
]
}
这是一个纱虫吗?还是一个打字稿的bug?或者我做错了什么? :)