Je suis en train d'importer PDF.JS dans un projet dactylographié. J'utilise le DefinitelyTyped bindings pour pdfjs-dist
, installé via npm install @types/pdfjs-dist
et npm install pdfjs-dist
.
Problème
Je ne peux pas sembler obtenir tapuscrit pour compiler mon projet. J'utilise le code source copié directement à partir des tests sur DefinitelyTyped. Ce sont les simplifiées (suppression seulement) le code que je suis en train de compiler (une copie exacte du code de test à partir DefinitelyTyped ne parvient aussi de la même manière):
import { PDFJSStatic } from 'pdfjs-dist';
var PDFJS: PDFJSStatic;
PDFJS.getDocument('helloworld.pdf').then(console.log);
tapuscrit trouve le module de déclarations de type, et considère la importation de PDFJSStatic
pour être valide. Il ne pense pas PDFJS
est toujours initialisés, mais si j'éteins strict
dans tsconfig
, le code compile, mais il compile à:
"use strict";
exports.__esModule = true;
var PDFJS;
PDFJS.getDocument('helloworld.pdf').then(console.log);
Ce qui ne fonctionne évidemment pas. Il ne compile pas l'instruction import
en n'importe quoi.
Question
Comment puis-je importer PDF.JS dans un projet dactylographié et compiler en code de travail Node.JS via les fichiers de déclaration dans @types/pdfjs-dist
?
Ce que j'ai essayé
J'ai essayé différentes variations sur import
, en vain. Passer à require
ne semble pas non plus aider.
J'ai vérifié que la dépendance pdjs-dist
et les dépendances @types/pdfjs-dist
sont présentes, mises à jour et utilisables directement à partir de NodeJS (programmes non-TypeScript).
J'ai essayé différentes valeurs pour module
dans mon tsconfig. Ils modifient parfois le code généré, mais aucun ne le modifie pour contenir l'importation nécessaire.
J'ai essayé d'ajouter /// <reference path="../node_modules/@types/pdfjs-dist/index.d.ts" />
au-dessus de la ligne import
. Cela n'a pas changé le comportement.
Environnement
tsc
la version 2.4.2, noeud 8.5 et 5.3 npm
. Je donne les résultats suivants tsconfig.json
dans ma racine du projet:
{
"compilerOptions": {
"allowJs":true,
"rootDir": ".",
"outDir": "dist",
"moduleResolution": "node"
},
"include": [
"src/**/*"
],
"exclude": [
"**/*.spec.ts",
"dist/**/*"
]
}
J'ai le même problème. – uiii
J'ai le même problème, avez-vous trouvé une solution pour résoudre ce problème? –
Bonjour. Avez-vous trouvé une solution au problème? Je suis assis avec exactement le même problème, et je m'arrache les cheveux. Pourquoi cela doit-il être si difficile? –