我在“ /lib/DocumentReader.js”中有一个名为DocumentReader的类,我尝试使用module.exports = DocumentReader;
导出它,并且我有另一个名为main.js
的文件,我正在尝试使用此文件在其中,但每当我这样做
var doc = require("./lib/DocumentReader.js");
var docr = new DocumentReader("");
我收到此错误ReferenceError: DocumentReader is not defined
这是DocumentReader.js中的类
var fs = require("fs");
class DocumentReader{
constructor (filepath){
this.filepath = filepath;
}
readfile(){
fs.readFile(this.filepath,function(err,data){
if(err) throw err;
console.log(data);
});
}
}
我尝试查找类似的错误或类似情况,但我没有找到它们
当我打印doc
的值时,我得到了这个[Function: DocumentReader]
答案 0 :(得分:2)
当您require
进行某些操作时,需要对通过new
分配给它的变量调用require
。 DocumentReader
不存在,因为您没有在文件中声明DocumentReader
并要求lib/DocumentReader
。
module.exports
仅将引用导出到class DocumentReader
,这是一个名为DocumentReader
的函数。这就是为什么当您使用console.log(doc)
时仍然看到[Function: DocumentReader]
打印出来的原因。
const DocumentReader = require('./lib/DocumentReader')
const docr = new DocumentReader('')