타이프스크립트 반응 - '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/react
package.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 명령 프롬프트에서 다음 명령을 실행했습니다.
npm init
npm install -g webpack
npm install --save react react-dom @types/react @types/react-dom
npm install --save-dev typescript awesome-typescript-loader source-map-loader
npm install ajv@^6.0.0
npm i react-html-id
- 모듈를는 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
입력이 불가능한 노드모듈의 타입을 선언하는 경우의 주의사항입니다.
솔루션--->
- src 디렉토리 내에 global.d.ts 파일을 만듭니다.
- typescript는 이미 src 디렉토리를 감시하고 있기 때문입니다.
- 따라서 tsconfig.json에 특정 유형의 파일도 로드하도록 명시적으로 기술하는 것은 피합니다.그렇게 하면 다른 기본 입력 위치가 덮어쓰기 될 수 있기 때문입니다.
★★를 해 보세요.npm i --save-dev @types/react-materialize
하는 경우 하는 경우(신규 선언.d.ts
포함하는 declare module 'react-materialize';
이쪽에서 적절한 해결책을 찾을 수 있습니다.교체만 하면 됩니다.react-items-carousel
react-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
'IT' 카테고리의 다른 글
ng-change는 새로운 가치와 원래 가치를 가져옵니다. (0) | 2023.03.14 |
---|---|
Mongoose/MongoDB에서 멀티필드 인덱스 생성 (0) | 2023.03.09 |
JSON.NET JsonConvert 와NET JavaScript Serializer (0) | 2023.03.09 |
Material-UI RaisedButton 링크를 외부 URL에 연결하려고 해도 실패합니까? (0) | 2023.03.09 |
Jackson JSON 루트 요소에 의한 역직렬화 (0) | 2023.03.09 |