当前pdfjs https://github.com/mozilla/pdfjs-dist/tree/bd2a6cd87f9e0c3a9b3197d5d27acfb99886629b在单独的文件夹中包含d.ts和js文件:
如果我进口它们时:
import { NodeCanvasFactory } from 'pdfjs-dist/types/src/display/node_utils';它生成错误的js代码:
const api_1 = require('pdfjs-dist/types/src/display/api');是否有可能与js一起正确映射d.ts?
其结果应如下:
const api_1 = require("pdfjs-dist/lib/display/api");我还试着和tsconfig.json合作
"paths": {
"pdfjs-dist/types/src/*": ["./pdfjs-dist/lib/*"]
}全tsconfig.json
{
"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"
]
}发布于 2022-04-29 22:13:37
这是我为同样的问题想出的解决方案。(在您的问题中,您正在混合api和node_utils,但如果您想导入node_utils,则会回答)。
首先,创建一个名为node_utils.d.ts的声明文件(注意,该文件的名称必须与模块名称相同)。
在此文件中添加以下内容:
declare module 'pdfjs-dist/lib/display/node_utils' {
export * from 'pdfjs-dist/types/src/display/node_utils'
}现在,您可以在导入时使用pdfjs-dist/lib/display/node_utils,如下所示,并且类型记录将被拾取声明文件。不幸的是,对于每个您想要导入的文件,如果输入了与js文件不同的文件夹,就必须这样做!
import { NodeCanvasFactory } from 'pdfjs-dist/lib/display/node_utils';https://stackoverflow.com/questions/69632194
复制相似问题