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.Jimp
types上发现了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" } }