我已经从here下载了jsfeat,并解压缩了下载的文件。

在目录中,我编写了以下内容:

require("./build/jsfeat.js");
var matrix = new jsfeat.matrix_t(2,2, jsfeat.U8_t | jsfeat.C1_t);
matrix.data[1] = 4;
console.log(matrix.data[1]);


我运行程序如下:

$ node matrix.js


但是,出现以下错误:

/Users/abc/Desktop/JavaScript/inspirit-jsfeat-59cc928/matrix.js:2
    var matrix = new jsfeat.matrix_t(2,2, jsfeat.U8_t | jsfeat.C1_t);
                     ^

ReferenceError: jsfeat is not defined
    at Object.<anonymous> (/Users/abc/Desktop/JavaScript/inspirit-jsfeat-59cc928/matrix.js:2:19)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Function.Module.runMain (module.js:457:10)
    at startup (node.js:136:18)
    at node.js:972:3


这是为什么?我该如何解决这个问题?

谢谢。

最佳答案

您需要将导入的模块分配给变量:

var jsfeat = require("./build/jsfeat.js");


如果您愿意,可以使用NPM安装该模块,以免手动下载:

$ npm install jsfeat


该模块将保存到./node_modules/jsfeat。然后,可以使用var jsfeat = require('jsfeat')要求它。

07-26 04:45