如何在 Node.js 上使用 JS 库?

How to use a JS library on Node.js?

我正在尝试使用 Fuse.js 库并使用 Node.js 通过终端显示它的结果,但是,我似乎找不到将外部库合并到我的代码中的方法.

我用谷歌搜索了一下,发现我需要添加 var foo = require("MyLibraryPath.js");一开始,但在尝试之后,我仍然无法访问该库中的任何功能。

我也尝试过在我的代码开头复制并粘贴整个库,但它会引发错误。

到目前为止,我的代码看起来像这样。该库用于搜索数组和 return 与您在数组中进行的搜索最相似的项目。我过度简化了它只是为了让您可以看到它停止工作的地方

var getFuse = require("fuse.js");
var fs = require("fs");

var arr = [ 
    {item:"one"},
    {item:"two"}
];

var options = { 
   //insert search options here
}

//In order to search, I need to put things like this
var fuse = new Fuse( array ,options);

//Here I insert what I want to search
var result = fuse.search("one");

但是,当我打开终端并执行

node myFile.js

我明白了

ReferenceError: Fuse is not defined`


at Object.<anonymous> (/Users/myFile.js:21:12)
    at Module._compile (internal/modules/cjs/loader.js:707:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
    at Module.load (internal/modules/cjs/loader.js:605:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
    at Function.Module._load (internal/modules/cjs/loader.js:536:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:760:12)
    at startup (internal/bootstrap/node.js:308:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3)

我是不是调用错了库?是否无法加载外部库,我尝试使用外部 link 和下载库并在本地调用它,但它给了我同样的错误。

您正在调用 Fuse() 但您从未定义它。

此处 — var getFuse = require("fuse.js"); — 您定义 getFuse(通过分配模块导出的任何内容)但您永远不会对其进行任何操作。

也许你的意思是var Fuse = require("fuse.js");

而不是var getFuse = require("fuse.js");

使用var Fuse = require("fuse.js");

您正在使用一个尚不存在的变量,这就是您收到该错误的原因。