有一些第三方 Javascript 库具有一些我想在 Node.js 服务器中使用的功能。(特别是我想使用我找到的 QuadTree javascript 库。)但这些库只是简单的.js
文件,而不是“Node.js 库”。
因此,这些库不遵循exports.var_name
Node.js 对其module所期望的语法。据我了解,这意味着当您这样做时,module = require('module_name');
或者module = require('./path/to/file.js');
您最终会得到一个没有可公开访问功能的module等。
我的问题是“如何将任意 javascript 文件加载到 Node.js 中,以便我可以利用它的功能而不必重写它以便它确实这样做exports
?”
我对 Node.js 非常陌生,所以如果我对 Node.js 的工作方式的理解有一些明显的漏洞,请告诉我。
编辑:深入研究,我现在看到 Node.js 使用的module加载模式实际上是最近开发的用于加载名为CommonJS 的Javascript 库的标准的一部分。它在Node.js的module文档页面上正确地说明了这一点,但直到现在我都错过了。
最终我的问题的答案可能是“等到你的库的作者开始编写一个 CommonJS 接口或者你该死的自己来做”。