是否有可能将一个正常的Javascript库转换成一个NodeJS库?

我一直在使用Javascript库,即canvas-lib ,我在服务器端使用Node.JS / Socket.io,所以我可以在客户端之间传递事件。

我正在使用一种架构,在该架构中,一次只有一个客户端可以控制canvas,因为我正在制作一种由移动设备控制并在第二个(更大)屏幕上显示的“划痕”游戏。

你可以在这里看到这个架构图。

事情是,目前的canvas交互是在客户端完成一个脚本的效果,这会导致一些问题:

  • 没有办法缩放canvas
  • 没有一个统一的时间限制柜台
  • 我必须在外部屏幕上手动加载页面

我的目标是:

  • 要让服务器将时间传递给两个设备(或屏幕)
  • 要将canvas加载到移动设备上并缩放到外部屏幕(在新的连接上,并在移动设备连接后自动完成,或者排队并进入当前活动状态)

为了达到这个目的,我相信我必须得到canvas-lib才能在节点上工作,所以我怎么能实现这个,因为lib还没有准备好呢? 如何将常规库转换为Node库?

好,

如果你正在开发一个专门用于浏览器的库,我看不出为它制作Node包的任何一点。

但无论如何,请看节点包pipe理器 (简称NPM),它会帮助你,当你需要开发一些节点库。

为了使Fabric.js节点兼容,我做了一些事情:

  • 在节点环境中使用提供canvasAPI的节点canvas。
  • 提供(或阻止)访问该库可能使用的任何DOM对象。 见jsdom 。
  • 删除对专有(仅浏览器)API的调用。 请参阅非标准function 。
  • 调整库的testing套件在节点下运行(如果还没有的话)。 看摩卡或qunit 。
  • 运行testing套件,确保所有东西都按预期工作。
  • (可选)为方便起见创buildNPM包。

或者您可以使用已经为节点提供支持的库;)