tsc生成.d.ts文件给出错误“找不到命名空间”Jimp“

我正在开发一个NPM包,我的一个类是这样的:

import { MIME_PNG } from 'jimp'; import { IDimensions } from './spritesheet'; /** * A class for a single sprite. This contains the image * and supporting data and methods */ export class Sprite { image: Jimp.Jimp; dimensions: IDimensions; /** * * @param img a jimp image of the sprite */ constructor (img: Jimp.Jimp) { this.image = img; this.dimensions = { width: this.image.bitmap.width, height: this.image.bitmap.height } } /** * Get the buffer for the sprite. Returns a promise. */ getBuffer (): Promise<Buffer> { return new Promise((resolve, reject) => { return this.image.getBuffer(MIME_PNG, (err, buff) => { if (err) return reject(err); resolve(buff); }); }); } } 

Typescript只用命令tsc编译这个罚款,但是当我发布我正在用命令tsc -d -p ./ --outdir dist/来编译生成.d.ts文件的包时。

输出的文件如下所示:

 /// <reference types="node" /> import { IDimensions } from './spritesheet'; /** * A class for a single sprite. This contains the image * and supporting data and methods */ export declare class Sprite { image: Jimp.Jimp; dimensions: IDimensions; /** * * @param img a jimp image of the sprite */ constructor(img: Jimp.Jimp); /** * Get the buffer for the sprite. Returns a promise. */ getBuffer(): Promise<Buffer>; } 

现在,当在VSCode中查看这个文件时,以及在发布/导入到一个不同的项目中时,我在Jimp.Jimptypes上发现了Jimp.Jimp错误:“找不到命名空间'Jimp'”。

我注意到tsc import { MIME_PNG } from 'jimp';删除了import { MIME_PNG } from 'jimp'; 从文件行,如果我添加该文件,它编译得很好。

我的tsconfig.json文件如下所示:

 { "compilerOptions": { "target": "es6", "module": "commonjs", "sourceMap": true, "outDir": "./dist", "rootDir": "./src", "strict": true, "moduleResolution": "node" } }