Я читал эти похожие вопросы:
tsc выдает `TS2307: не удается найти модуль` для локального файл - моя проблема отличается, потому что я устанавливаю локальный пакет, а не просто ссылаюсь на локальный файл.
ошибка TS2307: не удается найти модуль (внешний, частный модуль) - моя проблема может быть похожа на эту (мне недостаточно подробностей, чтобы сказать наверняка). Но включение
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/
работает нормально. Но когда я запускаю tsc
в Windows, я получаю следующее:
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"
]
}
Это ошибка пряжи? Или ошибка машинописного текста? Или я что-то не так делаю? :)