我正在尝试在节点服务器上使用 fabric.js 构建应用程序。我按照记录的步骤进行操作,并且能够设置画布和结构模块。
当我尝试通过更新 binding.gyp 文件来包含对 jpeg 文件的支持时,node.canvas 会中断。
当前配置
v8: '5.1.281.83'
node@6.6.0
node-gyp@3.8.0
npm: '6.4.0-next.0'
画布先决条件版本
GTK - gtk+-bundle_2.22.1-20101229_win64
jpeglib - libjpeg-turbo-2.0.0-vc64
安装步骤
npm i canvas
canvas 项目构建成功,没有任何错误
我用以下内容更新了“node_modules/canvas”文件夹中的 binding.gyp
'with_jpeg%': 'true',
'libjpeg_root%': 'C:/libjpeg-turbo64',
更新了条件
['with_jpeg=="true"', {
'defines': [
'HAVE_JPEG'
],
'conditions': [
['OS=="win"', {
'copies': [{
'destination': '<(PRODUCT_DIR)',
'files': [
'<(libjpeg_root)/bin/jpeg62.dll',
]
}],
'libraries': [
'-l<(libjpeg_root)/lib/jpeg.lib'
],
'include_dirs': [
'<(libjpeg_root)/include'
]
}, {
'libraries': [
'-ljpeg'
]
}]
]
}]
更新绑定文件后 node-gyp 重建工作正常,没有任何问题,一旦完成,如果我运行测试
测试画布代码
var Canvas = require('canvas');
在运行测试代码时,我收到以下错误
Error: The specified module could not be found.
\\?\C:\<AppPath>\node_modules\canvas\build\Release\canvas.node
at Error (native)
如果我将 with_jpeg 变量设置为 false 并重建测试代码,则可以正常工作,没有任何问题。我不太确定我哪里出错了。有人可以帮我解决这个问题。