1

我想知道如何在不使用该文件所需的函数的情况下将 npm 模块导出到另一个文件。

-index.js-

const cv = require("opencv4nodejs");
const add = require("./addon");

cv.imshowWait("", add.img());

我的主要 javascript 文件显示如下

-addon.js-

const cv = require("opencv4nodejs");

exports.img = () =>{
    return cv.imread("lenna.jpg")
}

我的导出 javascript 文件显示如下

只需在听到 addon.js 文件中读取图像文件并导出到 index.js 文件并听到它显示图像。它工作正常

但我想删除 require 功能

const cv = require("opencv4nodejs");

在 addon.js 文件上

并将该 npm 模块从 index.js 文件导出到 addon.js 文件。index.js 文件中的类似内容

const cv = require("opencv4nodejs");
const add = require("./addon")(cv);

怎么办啊各位...

4

1 回答 1

0

您需要导出一个接受 cv 并使其在您的模块中可用的函数。所以像下面这样:

// addon.js

var cv;

const img = () =>{
    return cv.imread("lenna.jpg")
}

module.exports = function (opencv4nodejs) {
    cv = opencv4nodejs;
    return { img };
}

然后像你已经展示的那样使用它:

// index.js
const cv = require("opencv4nodejs");
const add = require("./addon")(cv);

cv.imshowWait("", add.img());
于 2020-11-17T11:57:03.167 回答