【问题标题】:How to fix Error Cannot Find Module for nodejs如何修复错误找不到nodejs的模块
【发布时间】:2021-05-29 09:16:06
【问题描述】:

我有一个在 .js 文件中创建的函数,我正在尝试在 get 路由中导入并使用该函数来构建应用程序,但我不断收到此错误

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

【问题讨论】:

    标签: javascript node.js module.exports


    【解决方案1】:

    在您的“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'); 
    

    【讨论】:

    • 在尝试后我仍然有错误,但谢谢!
    • 我更新了我的答案,以防您需要来自 routes/crawler.js 文件的 OcrCrawlerTest
    • 非常感谢!!我非常感谢您的帮助,这设法解决了问题:)
    【解决方案2】:

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

    【讨论】:

    • 在尝试后我仍然有错误,但感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多