У меня была проблема сегодня утром, которая сводила меня с ума. Я объясню эту проблему, а затем я предоставлю свой ответ ниже (чтобы другие, кто сталкивался с этим, могли быстрее решить проблему).Ошибка импорта модулей узла в TypeScript
Это очень легко дублировать проблему, только запустив следующие команды:
tsd query react --action install
mkdir src
echo "import React = require('react');" > src/foo.ts
Я также включил следующий tsconfig.json
файл в src
:
{
"version": "1.6.2",
"compilerOptions": {
"outDir": "./tsdir",
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true
},
"files": [
"foo.ts"
]
}
Если я пытаюсь скомпилировать это просто с помощью команды tsc
(версия 1.6.2) внутри src
, я получаю:
foo.ts(1,24): error TS2307: Cannot find module 'react'.
То, что я нахожу здесь непонятным, заключается в том, что я установил привязкис tsd
, но когда я запустил tsc
, я получаю эту ошибку. Похоже, я все сделал правильно, так почему же ошибка?