web-dev-qa-db-fra.com

`Impossible de trouver le module` pour mon propre module dossier

Je viens de publier un nouveau module dactylographique basé sur le registre NPM, OOAFS . Toutefois, lorsque j'essaie d'installer et d'importer dans un autre projet dossier, VSCode me donne l'erreur suivante sur l'instruction d'importation: Cannot find module 'ooafs'.ts(2307).

Les fichiers source de ce module sont compilés à JavaScript dans un dossier et des définitions dist/ (.d.ts) sont également générés.

Voici l'arborescence du module publié (celui que nous téléchargeons lorsque nous npm install):

.
├── dist
│   ├── Entry.d.ts
│   ├── EntryFilter.d.ts
│   ├── EntryFilter.js
│   ├── Entry.js
│   ├── EntryType.d.ts
│   ├── EntryType.js
│   ├── FSTypings.d.ts
│   ├── FSTypings.js
│   ├── index.d.ts
│   └── index.js
├── LICENSE
├── package.json
└── README.md

Le package.json contient les entrées suivantes:

{
    "main": "dist/index.js",
    "types": "dist/index.d.ts",
    ...
}

Étant donné que le module fonctionne normalement sur Runkit (pure JS), je suppose que le seul problème que j'ai est lié à documentscript, et ce n'est pas la première fois que le type dactylographie me dit qu'un module n'existe pas lorsque les fichiers de déclaration manquants sont le seul problème.

Est-ce que je manque une étape dans le processus de compilation? Sont mon package.json propriétés mal?

Si vous devez voir plus de code, le lien GITUB est au début de la question et la structure du module publiée peut être trouvée ici: https://unpkg.com/[email protected]/dist/ .

6
MrAnima

En fait, le problème ne vient pas de mon module (OOAFS). C'était un problème avec le tsconfig.json du projet J'utilisais le module dans: La propriété module doit être définie sur commonjs apparemment.

TRÈS TARD EDIT : En outre, je vous recommande vivement de définir esModuleInterop à true qui vous permet d'importer des modules non-ES6 de manière plus naturelle.

3
MrAnima