如何修复错误无法为nodejs找到模块

How to fix Error Cannot Find Module for nodejs

我在 .js 文件中创建了一个函数,我试图在应用程序构建的获取路径中导入和使用该函数,但我不断收到此错误

internal/modules/cjs/loader.js:888
  throw err;
  ^

Error: Cannot find module './crawler/ocr-crawler.js'

函数是这样设置的:

async function OcrCrawlerTest(){

 // some code here
}

module.exports = {OcrCrawlerTest};

我是这样称呼它的:

const { OcrCrawlerTest } = require('./crawler/ocr-crawler.js');

我是 javascript 的新手,所以请在解决方案中提供一些细节

另外,如果需要,我的路径结构设置如下所示:

--- main directory 
    └── app.js
    └── crawler
         └── ocr-crawler.js
    └── routes
         └── crawler.js

尝试将 module.exports = {OcrCrawlerTest} 更改为 module.exports = OcrCrawlerTest; 并将 const { OcrCrawlerTest } = require('./crawler/ocr-crawler.js') 更改为 const OcrCrawlerTest = require('./crawler/ocr-crawler.js')

在您的“app.js”文件中,您可以使用下面的代码。 NodeJS 将遍历您的目录以找到合适的模块。

const { OcrCrawlerTest } = require('./crawler/ocr-crawler'); // remove ".js" at the end

您可以在此 document

中找到更多信息

编辑 如果您需要 routes/crawler.js 文件中的 OcrCrawlerTest,则需要提供从 routes/crawler.js 文件到 crawler/ocr-crawler.js 文件的相对路径:

const { OcrCrawlerTest } = require('../crawler/ocr-crawler');