如何在不使用该文件中的 require 函数的情况下将 npm 模块导出到另一个文件

How to exports npm module to another file without using require function in that file

我想知道如何将 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 文件显示如下

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

但是我想删除 require 函数

const cv = require("opencv4nodejs");

在 addon.js 文件上

并将该 npm 模块从 index.js 文件导出到 addon.js 文件。 index.js 文件

中的类似内容
const cv = require("opencv4nodejs");
const add = require("./addon")(cv);

伙计们该怎么做...

您需要导出一个接受 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());