Ошибка TypeScript: не удается найти модуль 'React' - PullRequest
0 голосов
/ 28 октября 2019

Я пытался скомпилировать свой проект в течение нескольких часов, я искал по всему Интернету, но все еще не понимаю, почему он не работает.

Я просто запускаю npx tsc, ноЯ получаю эту ошибку:

$ npx tsc
src/index.ts:2:24 - error TS2307: Cannot find module 'React'.

2 import * as React from 'React';
                         ~~~~~~~


Found 1 error.

tsconfig.json:

{
  "compilerOptions": {
    "moduleResolution": "node",
    "target": "es6",
    "module": "commonjs",
    "esModuleInterop": true,
    "lib": [
      "es2015",
      "es2016",
      "es2017",
      "dom"
    ],
    "strict": true,
    "sourceMap": true,
    "declaration": true,
    "declarationDir": "dist/types",
    "outDir": "dist/lib",
    "typeRoots": [
      "node_modules/@types"
    ],
    "jsx": "react",
    "noResolve": false,
    "allowJs": false,
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true
  },
  "include": [
    "src"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "playground"
  ]
}

src / index.ts:

import lodash from 'lodash';
import * as React from 'React';

packages.json:

{
  "files": [
    "dist"
  ],
  "devDependencies": {
    "@types/lodash": "^4.14.144",
    "@types/node": "^12.11.7",
    "@types/react": "^16.9.11",
    "lodash": "^4.17.15",
    "react": "^16.11.0",
    "ts-node": "^8.4.1",
    "typescript": "^3.6.4"
  }
}

Что дает?

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Помимо установки реакции как зависимости путем запуска,

npm i react

вы можете вместо этого импортировать экспортированный модуль по умолчанию.

import React from 'react';

И на вашем tsconfig.json выможно установить allowSyntheticDefaultImports как true.

"allowSyntheticDefaultImports": true

Кроме того, вы можете прочитать больше об интеграции TypeScript с React .

0 голосов
/ 28 октября 2019

Вы, вероятно, должны установить react как зависимость, а не devDependency. Также заставьте реактив импортировать первую строку в файле.

...