Actualmente, pdfjs-dist https://github.com/mozilla/pdfjs-dist/tree/bd2a6cd87f9e0c3a9b3197d5d27acfb99886629b contiene los archivos d.ts y js en carpetas separadas:
Si los importo con:
import { NodeCanvasFactory } from 'pdfjs-dist/types/src/display/node_utils';genera un código js incorrecto:
const api_1 = require('pdfjs-dist/types/src/display/api');¿Es posible mapear correctamente el d.ts junto con js?
El resultado debe ser el siguiente:
const api_1 = require("pdfjs-dist/lib/display/api");También traté de trabajar con tsconfig.json
"paths": { "pdfjs-dist/types/src/*": ["./pdfjs-dist/lib/*"] }tsconfig.json completo
{ "compilerOptions": { "target": "es2017", "module": "commonjs", "lib": [ "es2017", "dom" ], "outDir": "dist", "rootDir": "src", "strict": true, "strictNullChecks": true, "noImplicitAny": true, "esModuleInterop": true, "resolveJsonModule": true, "forceConsistentCasingInFileNames": true, "declaration": true, "types": [ "node", "jest" ], "sourceMap": true, "paths": { "pdfjs-dist/types/src/*": ["./pdfjs-dist/lib/*"] } }, "include": [ "src/**/*.ts" ], "exclude": [ "node_modules", "**/*.spec.ts" ] }Aquí está la solución que se me ocurrió para el mismo problema. (En su pregunta, estaba mezclando api y node_utils , pero responderá asumiendo que desea importar node_utils ).
Primero, cree un archivo de declaración llamado node_utils.d.ts (tenga en cuenta que el nombre del archivo debe ser el mismo que el nombre del módulo).
En este archivo agregue lo siguiente:
declare module 'pdfjs-dist/lib/display/node_utils' { export * from 'pdfjs-dist/types/src/display/node_utils' } Ahora puede usar pdfjs-dist/lib/display/node_utils al importar como se muestra a continuación y Typescript recogerá los archivos de declaración. Desafortunadamente, esto debe hacerse para cada archivo que desee importar que tenga escritura en carpetas separadas de los archivos js.
import { NodeCanvasFactory } from 'pdfjs-dist/lib/display/node_utils';