IT

타이프스크립트 반응 - 'react-materialize' 모듈에 대한 선언 파일을 찾을 수 없습니다.'path/to/module-name.module'에는 암묵적으로 임의의 유형이 있습니다.

itgroup 2023. 3. 9. 22:00
반응형

타이프스크립트 반응 - 'react-materialize' 모듈에 대한 선언 파일을 찾을 수 없습니다.'path/to/module-name.module'에는 암묵적으로 임의의 유형이 있습니다.

react-materialize에서 구성 요소를 가져오려고 합니다.

import {Navbar, NavItem} from 'react-materialize';

, 웹 할 때.tsx의 에러는 -어울리다, 라고 합니다.

ERROR in ./src/common/navbar.tsx
(3,31): error TS7016: Could not find a declaration file for module 'react-materi
alize'. 'D:\Private\Works\Typescript\QuickReact\node_modules\react-materialize\l
ib\index.js' implicitly has an 'any' type.

것에대 대결 ?결 법?? ???이 Import 스테이트먼트를 해결하는 방법을 알 수 없습니다.ts-loader아, 아, 아, 아, 아, 아, 아.

index.js이렇반반 반반질물물 요요요요 。그러나 내 파일 내의 모듈 Import에서 이 문제를 해결하려면 어떻게 해야 합니까?

https://github.com/react-materialize/react-materialize/blob/master/src/index.js

, 이 였다.react-router 타입을 설치하여 해결.

npm install --save @types/react-router

오류:

(6,30): error TS7016: Could not find a declaration file for module 'react-router'. '\node_modules\react-router\index.js' implicitly has an 'any' type.

하는 는, 에 「」를 편집할 수 .tsconfig.json를 설정합니다.noImplicitAny로로 합니다.false.

어떻게 이겨냈는지 궁금하신 분들을 위해서나는 해킹 같은 것을 했다.

내에서 내로 called called called called called called called called called called called called called called called called called라는 를 만들었습니다.@types을 검색하기 tsconfig이 -tsconfig.json은 이 -tsconfig.json과 .을 사용하다

"typeRoots": [
  "../node_modules/@types",
  "../@types"
]

그 에 ''라는 파일을 .alltypes.d.ts알 수 없는 타입을 찾기 위해 저는 알 수 없는 타입을 여기에 추가했습니다.

declare module 'react-materialize';
declare module 'react-router';
declare module 'flux';

그래서 타이프스크립트는 더 이상 찾을 수 없는 타입에 대해 불평하지 않았습니다. :) win win now : )

나도 리액트 리듀스 타입에 같은 문제가 있었어가장 간단한 솔루션이 tsconfig.json에 추가되었습니다.

"noImplicitAny": false

예:

{
  "compilerOptions": {
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "isolatedModules": true,
    "jsx": "react",
    "lib": ["es6"],
    "moduleResolution": "node",
    "noEmit": true,
    "strict": true,
    "target": "esnext",
    "noImplicitAny": false,
  },
  "exclude": ["node_modules", "babel.config.js", "metro.config.js", "jest.config.js"]
}

「 」가 없는 @types/<package> 사용하고 있는 에는 '어느 정도', '어느 정도', '어느 정도', '어느 정도', '어느 정도', '어느 정도'를 하면 쉽게 할 수 .// @ts-ignore상기의 코멘트.

// @ts-ignore
import { Navbar, NavItem } from 'react-materialize';

누락되어 있는 것을 .@types/<package>다음에 나타냅니다.

선언 파일 게시

물론입니다기여 방법을 입력했습니다.

react local 서버를 정지하고 다음 작업을 수행한 후 다시 시작하십시오.

1-작성.d.ts수동으로 파일을 작성하려면 , 다음의 조작을 실시해 주세요.

- 2 - 입력src folder

- 3 - 작성global.d.ts

4 - 다음과 같이 모듈 선언:

declare module 'module-name';

에 여기서 대답했는데 좋았어요.

제 경우 리액션에 문제가 있어서 다음 작업을 시작했습니다.

npm install @types/react

그 후, 에

npm install @types/react-dom

이건 내게 효과가 있었다.

리액션에 필요한 타입을 인스톨 하면, 에러가 해결됩니다.

실을 사용하는 경우:

yarn add @types/react @types/react-dom @types/react-router-dom -D

npm을 사용하는 경우:

npm install @types/react @types/react-dom @types/react-router-dom --save-dev

같은 문제가 있었지만 반드시 타이프 스크립트에 관련된 것은 아니었기 때문에, 이러한 다른 선택사항에 대해 조금 고민했습니다.Create-React라는 특정 하여 매우 .react-portal-tooltip,유사한 오류 발생:

'react-portal-tooltip' 모듈에 대한 선언 파일을 찾을 수 없습니다.'/node_model/model-model-modeltip/lib/index.model'에는 암묵적으로 '임의' 유형이 있습니다.해라npm install @types/react-portal-tooltip이 파일이 존재하는 경우 또는 다음 파일을 포함하는 새로운 선언 파일(.d.ts)을 추가합니다.declare module 'react-portal-tooltip';ts(7016)

저는 처음에 여러 단계를 시도했습니다 - 다양한 단계를 추가했습니다..d.ts파일, 각종 npm 설치.

하지만 결국 제게 효과가 있었던 건touch src/declare_modules.d.ts그리고 나서src/declare_modules.d.ts:

declare module "react-portal-tooltip";

및 인src/App.js:

import ToolTip from 'react-portal-tooltip';
// import './declare_modules.d.ts'

이 일반적인 'Declare module' 전략을 사용하기 위해 여러 장소에서 약간의 어려움을 겪었기 때문에(저는 초보자입니다), 다른 옵션에서 사용할 수 있을 것이라고 생각하지만, 저는 이 방법을 사용할 수 있는 경로를 포함하고 있습니다.

나는 처음에 생각했다.import './declare_modules.d.ts'필요했습니다.지금은 아닌 것 같지만!하지만 누군가에게 도움이 될 경우를 대비해서 단계를 포함하고 있습니다.

Stackoverflow 답변은 이번이 처음입니다.여기서 산재한 프로세스에 대해 사과드리며 도움이 되셨기를 바랍니다. :)

다음 스크립트만 실행하면 됩니다.그런 다음 사용할 모듈을 분리/재설치합니다.

npm install --save @types/react-redux

에서 같은 에러가 발생했습니다.react-router-dom.

이 오류는 타이프스크립트 프로젝트에서 작업할 때 발생합니다.기본 모듈에는 타이프스크립트에 필요한 타입이 포함되어 있지 않습니다.

그래서 나는 npmjs.com에서 라는 이름의 패키지를 검색했다.@types/react-router-dom당신이 찾고 있는 리액션-스파이더-돔이 아니라면react-router-dom입력되지 않은 모듈로 이동합니다.

npm 웹사이트에서 마지막 버전을 검색한 후 다음 웹 사이트에 추가합니다.package.json다음과 같이 합니다.

[...]
"dependencies": {
    [...]
    "@types/react-router-dom": "^5.1.8",
    [...]
  },
[...]

끝나면 달려라yarn install

그럼 흔들릴거야!

추가했을 때 이 문제가 있었습니다.react-router-dom새로운 CRA 앱으로 이동합니다.추가 후@types/react-router

보다 해킹적인 방법은 예를 들어 boot.tsx에 행을 추가하는 것입니다.

import './path/declare_modules.d.ts';

와 함께

declare module 'react-materialize';
declare module 'react-router';
declare module 'flux';

declare_modules.d.ts

효과는 있지만 다른 솔루션이 더 나은 IMO입니다.

'react/jsx-runtime' 모듈에 대한 선언 파일을 찾을 수 없습니다.

이 때 리액트 앱을 만들 때, 리액트 앱을 만들 때 입니다.create-react-app만 나와있어요.@types/reactpackage.json '를 node_modules/@types폴더, 폴더는 찾을 수 없습니다.react.

해결방법은 이 모든 것을 지우고node_modules 재설치 - 폴 folder - 시시시 시시 folder folder folder folder folder folder folder folder.npm install 개별 설치와 할 수도 있습니다.npm install @types/react.

또한 사용하려는 패키지에 자체 유형 파일이 있고 패키지에 나열된 경우 이 오류가 수정됩니다.json typings

다음과 같은 경우:

{
  "name": "some-package",
  "version": "X.Y.Z",
  "description": "Yada yada yada",
  "main": "./index.js",

  "typings": "./index.d.ts",

  "repository": "https://github.com/yadayada.git",
  "author": "John Doe",
  "license": "MIT",
  "private": true
}

프로젝트 폴더 디렉토리에 있는 동안 nodejs 명령 프롬프트에서 다음 명령을 실행했습니다.

  1. npm init
  2. npm install -g webpack
  3. npm install --save react react-dom @types/react @types/react-dom
  4. npm install --save-dev typescript awesome-typescript-loader source-map-loader
  5. npm install ajv@^6.0.0
  6. npm i react-html-id
  7. 모듈를는 App.js입니다.import UniqueId from 'react-html-id';

위의 (npm을 이미 설치했지만)를 실시하면 동작했습니다!

고생 끝에 받았습니다.리액트 앱에서는 src 폴더에 react-app-env.d.ts 파일이 있을 것입니다.그곳에 모듈을 선언해 주세요.

/// <reference types="react-scripts" />
declare module 'react-color/lib/components/alpha/AlphaPointer'

제 경우 패키지에 타입이 추가되지 않은 것이 문제였습니다.devDependencies 아래 json 파일 수정 실행npm install --save-dev @types/react-redux--save-dev

파일에 .tsconfig.json은 tsconfig.json입니다."noImplicitAny": false

--save npm install --save @types/react 에 가 있는 npm install --save @types/react

다음과 같은 경우:

{
  "name": "some-package",
  "version": "X.Y.Z",
  "description": "Yada yada yada",
  "main": "./index.js",
  
  "typings": "./index.d.ts",
  
  "repository": "https://github.com/yadayada.git",
  "author": "John Doe",
  "license": "MIT",
  "private": true
}

또한 사용하려는 패키지에 자체 유형 파일이 있고 패키지에 나열된 경우 이 오류가 수정됩니다.json typings

입력이 불가능한 노드모듈의 타입을 선언하는 경우의 주의사항입니다.

솔루션--->

  1. src 디렉토리 내에 global.d.ts 파일을 만듭니다.
  2. typescript는 이미 src 디렉토리를 감시하고 있기 때문입니다.
  3. 따라서 tsconfig.json에 특정 유형의 파일도 로드하도록 명시적으로 기술하는 것은 피합니다.그렇게 하면 다른 기본 입력 위치가 덮어쓰기 될 수 있기 때문입니다.

★★를 해 보세요.npm i --save-dev @types/react-materialize하는 경우 하는 경우(신규 선언.d.ts 포함하는 declare module 'react-materialize';

이쪽에서 적절한 해결책을 찾을 수 있습니다.교체만 하면 됩니다.react-items-carouselreact-materialize.

나도 같은 문제가 있었어 가장 간단한 해결책은

npm i --save-dev @types/react-router && npm i --save-dev @types/react-router-dom

정상적으로 동작하다

npm install @types/react-materialize

일부 종속성에 유형이 없고 ts에 해당 유형을 포함하도록 강요하는 경우가 있습니다.대신 javascript를 사용하는 문제 해결 방법이 있습니다.

예.

import {Charts} from "react-charts";//error: 'react-charts'에 수

: 피책 :const ReactChart = require("react-charts");/no-error/no-error 없

언급URL : https://stackoverflow.com/questions/41462729/typescript-react-could-not-find-a-declaration-file-for-module-react-material

반응형