tsc создает `TS2307: не удается найти модуль` для локального файла.
У меня есть простой пример проекта с использованием TypeScript:https://github.com/unindented/ts-webpack-example
Бегtsc -p .
(сtsc
версия 1.8.10) выдает следующее:
app/index.ts(1,21): error TS2307: Cannot find module 'components/counter'.
components/button/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/button/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/counter/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(4,27): error TS2307: Cannot find module 'shared/backbone_with_subviews'.
components/counter/index.ts(5,20): error TS2307: Cannot find module 'components/button'.
Он жалуется на весь импорт локальных файлов, например:
import Counter from 'components/counter';
Если я изменю его на относительный путь, это сработает, но я не хочу, потому что это усложняет мою жизнь при перемещении файлов:
import Counter from '../components/counter';
vscode
codebase не использует относительные пути, но у них все работает нормально, поэтому я должен что-то упустить в своем проекте:https://github.com/Microsoft/vscode/blob/0e81224179fbb8f6fda18ca7362d8500a263cfef/src/vs/languages/typescript/common/typescript.ts#L7-L14
Вы можете проверить мое GitHub репо, но в случае, если это поможет, вотtsconfi,g.json
файл, который я использую:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist"
},
"exclude": [
"dist",
"node_modules"
]
}
Самое смешное, что создание проекта черезwebpack
с помощьюts-loader
работает нормально, так что я думаю, это просто проблема конфигурации ...