如何在 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");
您正在使用一个尚不存在的变量,这就是您收到该错误的原因。
我正在尝试使用 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");
您正在使用一个尚不存在的变量,这就是您收到该错误的原因。