0

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

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

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

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

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)

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

4

2 回答 2

2

代替var getFuse = require("fuse.js");

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

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

于 2019-08-21T15:21:05.723 回答
1

你打电话Fuse(),但你从​​来没有定义它。

在这里——var getFuse = require("fuse.js");你定义getFuse(通过分配模块导出的任何内容)但你从不做任何事情。

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

于 2019-08-21T15:20:44.863 回答