TS2307 (TS) Не удается найти модуль csstype

У меня возникла проблема, из-за которой Visual Studio 2017 не скомпилирует мой код.

Недавно я добавил в наше решение Typescript, React и Webpack, и оно отлично работает. Но когда я сейчас пытаюсь собрать наше MVC-приложение, оно ломается. Сначала у меня была куча ошибок, но теперь я сузил их до csstype не найден (TS2307).

Другие сообщения на SO предлагают добавить "moduleResolution": "node", но в моем случае это не помогает...

Вот мой tsconfig.json:

{
  "compilerOptions": { 
    "sourceMap": true,
    "noImplicitAny": true,
    "module": "commonjs",
    "target": "es5",
    "jsx": "react",
    "moduleResolution": "node"
  },
  "exclude": [
    "node_modules"
  ]
}

пакет.json:

{
  "version": "1.0.0",
  "name": "fortressui.content",
  "private": true,
  "devDependencies": {
    "awesome-typescript-loader": "^5.2.0",
    "source-map-loader": "^0.2.3",
    "ts-loader": "^4.4.2",
    "typescript": "^2.9.2",
    "webpack": "4.16.2"
  },
  "dependencies": {
    "@types/lodash": "^4.14.113",
    "@types/mocha": "^5.2.5",
    "@types/pluralize": "0.0.29",
    "@types/react": "^16.4.7",
    "@types/react-dom": "^16.0.6",
    "chai": "^4.1.2",
    "csstype": "^2.5.6",
    "gulp-typescript": "^5.0.0-alpha.3",
    "install": "^0.12.1",
    "react": "^16.4.1",
    "react-dom": "^16.4.1",
    "shelljs": "^0.8.2",
    "typescriptnpm": "^1.0.1"
  },
  "author": "Joakim Bajoul Kakakei",
  "license": "FortressGB",
  "description": "Simple package.json file to handle dependencies"
}

Строка, на которую жалуется Visual Studio: import * as CSS from 'csstype'; в \node_modules\@types\react\index.d.ts..

Я попытался удалить папку node_modules, повторно запустить npm install, снова связать машинописный текст, но пакет react просто не может найти csstype, хотя он существует в node_modules\.

У кого-нибудь есть подсказки?


person geostocker    schedule 25.07.2018    source источник
comment
Какой-либо из этих ответов сработал для вас?   -  person Ben Smith    schedule 22.11.2020


Ответы (2)


У меня тоже была эта ошибка, даже при указании:

"moduleResolution": "node"

в tsconfig.json.

Обходной путь к этой проблеме заключается в явном добавлении зависимости ccstype, т.е.

yarn add csstype

См. здесь для получения дополнительной информации.

person Ben Smith    schedule 30.10.2018

Я использую версию React 16.8.4, и добавление "moduleResolution": "node" у меня тоже не сработало.

Глядя на ошибку в файле \node_modules\@types\react\index.d.ts, ошибка исходила из строки с кодом import * as CSS from 'csstype'.

Я заметил, что путь указывал на \node_modules\@types, и там мне не хватало папки csstype. Копирование папки csstype из \node_modules в \node_modules\@types решило проблему для меня.

person Binary Thoughts    schedule 06.03.2019