Jimp:模块使用时图像处理失败

时间:2018-05-31 15:39:16

标签: javascript angular image typescript

我无法使用Jimp

已安装:npm install --save jimp //确定

导入:import * as Jimp from 'jimp'; //确定

usage Jimp.read(someImage) //失败并显示错误

Uncaught (in promise): Error: Node's Buffer() not available

2 个答案:

答案 0 :(得分:1)

这是Jimp 0.2.28的突破性变化,目前的解决方案是恢复到0.2.27。但是,正如您在评论中所指出的那样,require对于TypeScript不适用于Jimp@0.2.27。

看起来像TypeScript,importimport完成了两件不同的事情。因此,对于require,您需要一个声明文件的声明文件,以便它可以在编译时确定模块是什么。如果没有,TypeScript根本无法解决它。 require在运行时发生,因此TypeScript未被包含(并且您将不会拥有.d.ts d模块的类型信息。)

This answer比我更好地解释了它。

看起来Jimp 0.2.27没有定义{{1}}文件而0.2.28文件没有定义{{1}}文件。我不确定为什么他们在一个补丁中包含了这么多的变化。

答案 1 :(得分:1)

执行$ python3 testing2.py Output from Python Month 1901-01-01 266.0 1901-02-01 145.9 1901-03-01 183.1 1901-04-01 119.3... $ pip3 freeze matplotlib==2.2.3 numpy==1.15.1 pandas==0.23.4 时,获取编译器错误。 原来import * as Jimp from 'jimp';的@type文件使用Jimp syntax,因此必须像下面这样导入:

  

import Jimp = require('jimp');