反应脚本 Fabricjs jsdom 冲突,
React-script Fabricjs jsdom conflict,
当我在我的项目中开始测试时,会发生以下错误:
失败源/测试/App.js
● 渲染不崩溃
TypeError: Cannot read property 'imageSmoothingEnabled' of null
at klass._setImageSmoothing (node_modules/fabric/dist/fabric.js:6567:38)
at klass._initStatic (node_modules/fabric/dist/fabric.js:6348:12)
at klass.initialize (node_modules/fabric/dist/fabric.js:8611:12)
at new klass (node_modules/fabric/dist/fabric.js:1961:23)
实际上它发生在我创建 fabricjs canvas 时。是不是jsdom和fabricjs冲突了???
终于找到问题所在了。问题是 fabric js 依赖项之一。这是 Canvas 。它需要 OS 上的一些软件包。取决于你的 OS.
OS X :brew 安装 pkg-config cairo libpng jpeg giflib
Ubuntu :sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora :sudo yum 安装 cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris :pkgin 安装 cairo pkg-config xproto renderproto kbproto xextproto
Windows :关于 canvas wiki
的说明
根据问题 3567 中的评论者,您需要安装 fabricjs 才能使其正常工作。我在升级到 node-canvas 2 alpha (npm install canvas@next
).
后遇到了这个问题
要么将 node-canvas 降级为 1.x,要么简单地 运行 npm install fabricjs
。这为我解决了。
当我在我的项目中开始测试时,会发生以下错误:
失败源/测试/App.js ● 渲染不崩溃
TypeError: Cannot read property 'imageSmoothingEnabled' of null
at klass._setImageSmoothing (node_modules/fabric/dist/fabric.js:6567:38)
at klass._initStatic (node_modules/fabric/dist/fabric.js:6348:12)
at klass.initialize (node_modules/fabric/dist/fabric.js:8611:12)
at new klass (node_modules/fabric/dist/fabric.js:1961:23)
实际上它发生在我创建 fabricjs canvas 时。是不是jsdom和fabricjs冲突了???
终于找到问题所在了。问题是 fabric js 依赖项之一。这是 Canvas 。它需要 OS 上的一些软件包。取决于你的 OS.
OS X :brew 安装 pkg-config cairo libpng jpeg giflib
Ubuntu :sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora :sudo yum 安装 cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris :pkgin 安装 cairo pkg-config xproto renderproto kbproto xextproto
Windows :关于 canvas wiki
的说明根据问题 3567 中的评论者,您需要安装 fabricjs 才能使其正常工作。我在升级到 node-canvas 2 alpha (npm install canvas@next
).
要么将 node-canvas 降级为 1.x,要么简单地 运行 npm install fabricjs
。这为我解决了。