형식 정의 파일이 없는 라이브러리 가져오기 오류

개시하다


유형 정의 파일이 없는 JavaScript 라이브러리에서 Type Script를 사용하는 항목에 대해 다음 경고가 표시됩니다.

モジュール '{モジュール名}' の宣言ファイルが見つかりませんでした。'{モジュール名}' は暗黙的に 'any' 型になります。
存在する場合は `npm i --save-dev @types/{モジュール名}` を試すか、`declare module '{モジュール名}';` を含む新しい宣言 (.d.ts) ファイルを追加します
경고의 대응법과 원본d.ts 문건이 무엇인지를 기술한다.

결론


대응법의 결론을 먼저 기재하면 경고문과 같이declare module '{モジュール名}'; を含む新しい宣言 (.d.ts) ファイルを追加 해결할 수 있다.
실례를 참고하여 절차를 설명하다.
이번에 types를 지원하지 않는 자바스크립트 라이브러리 Gio.js 로 사용되었는데, Gio.js 의 가져오기 바이트에 오류가 발생했습니다.
index.tsx
import * as GIO from "giojs";
Gio.js Type Script용 유형 정의 파일이 준비되어 있지 않으므로 오류 문장에
npm i --save-dev @types/{モジュール名}
사용할 수 없습니다.
그래서declare module '{モジュール名}'; を含む新しい宣言 (.d.ts) ファイルを追加.
디렉토리 계층 구조에서 다음과 같이 새로 만들어졌습니다giojs.d.ts.
giojs.d.ts
declare module "giojs";
이렇게 하면 오류가 발생하지 않을 것이다.

원래 d.ts 파일은 무엇입니까?


자세한 내용은 생존 Type Script를 사용하여 설명합니다d.ts. 파일은 유형 정의 파일을 의미합니다.
https://typescriptbook.jp/reference/declaration-file
유형 정의 파일(.d.ts)에 액세스 가능한 유형 선언이 기술되어 있습니다.
JavaScript 라이브러리에는 유형 정보가 없으므로 TypeScript 항목에서 사용할 때 유형 정의 파일이 필요합니다.
그러나 이 형식 정의 파일은 모든 라이브러리에 존재하지 않기 때문에 이번처럼 임시 정의를 해야 한다.

유형 정의 파일이 있는지 없는지에 따라 다른 작업


이번에는 유형 정의 파일을 만들어서 대응하지만 원래 유형 정의 파일이 존재하면 유형 정의 파일이 있는지 없는지에 따라 작업이 달라진다.

유형 정의 파일이 있는 경우


형식 정의 파일을 포함하는 패키지라면 특별한 작업이 필요하지 않습니다.
직접 가져오시면 됩니다.
npm install {ライブラリ名}

형식 정의 파일이 있지만 따로 설치해야 하는 경우


라이브러리에 형식 정의 파일이 없으면 따로 설치해야 합니다.
일반적으로 라이브러리를 가져온 후@types 형식 정의 파일을 가져오면 됩니다.
※ 이번 오류에 대한 최초 제시된 해결 방법은 이에 해당합니다.
npm install {ライブラリ名} --save # express本体のインストール
npm install @types/{ライブラリ名} --save-dev # 型定義ファイルのインストール

유형 정의 파일 없음


형식 정의 파일이 없는 프로그램 라이브러리이기 때문에 다음과 같은 임의의 방법으로 처리할 수 있습니다.
  • any형 타협
  • 형식 정의 파일 만들기
  • any 형식으로 타협


    이번 대응법이다.
    유형 정의 파일 자체가 존재하지 않아 오류가 발생했습니다giojs.d.ts.
    유형 정의 파일을 생성했기 때문에 오류가 발생하지 않지만 자세한 유형 정의가 없기 때문에 은연중에 any 유형으로 변경됩니다.

    유형 정의 파일 생성하기


    사용자 정의 형식 정의 파일DefinitelyTyped에 공개된 대응 방법.
    상당한 시간과 노동력을 소비하는 대응법이다.
    DefinitelyType의 일본어 READ입니다.ME

    끝말


    사건에서 처리된 라이브러리는 대부분 대체형 정의 파일에 대응하기 때문에 먼저 시도해 보는 것을 권장한다@types.
    시간이 충분하지 않으면 형식 정의 파일.d.ts이 없으면 임시 형식 정의 파일any만 만들 수 있습니다. 
    금형의 안전을 보장할 수 없기 때문에 나는 균형이라고 생각한다.

    참고 문장


    https://typescriptbook.jp/reference/declaration-file
    https://bnsgt.hatenablog.com/entry/2021/12/24/193825
    https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.ja.md

    좋은 웹페이지 즐겨찾기