运行 一个 JavaScript 需要 jsfeat 的程序

Running a JavaScript program requiring jsfeat

我已经从 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').

来要求它