问题描述
我在 .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
解决方法
尝试将 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');