我有这三个类(class):
类型检查器:
require('./type_error_checker/TypeErrorChecker');
require('./transpiler/Transpiler');
class TypeChecker {
constructor() {
console.log("TypeChecker initialised");
}
readFile(file) {
var fs = require("fs");
var path = require("path");
var filePath = path.join(__dirname, "readfile.js");
fs.readFile(filePath, { encoding: "utf-8" }, function(err,data) {
if (!err) {
console.log("received data: " + data);
response.writeHead(200, {"Content-Type": "text/html"});
response.write(data);
response.end();
} else {
console.log(err);
}
});
}
}
let typeChecker = new TypeChecker();
new TypeErrorChecker();
new Transpiler();
typeChecker.readFile();
类型错误检查器:
class TypeErrorChecker {
constructor() {
console.log("TypeErrorChecker initialised");
}
}
module.exports = TypeErrorChecker;
编译器:
class Transpiler {
constructor() {
console.log("TypeChecker transpiler initialised");
}
}
module.exports = Transpiler;
当我运行需要这两个类(以及 fs 和路径)的 TypeChecker 类时,出现以下错误:
new TypeErrorChecker();
^
ReferenceError: TypeErrorChecker is not defined at Object.<anonymous (/Applications/AMPPS/www/TypeCheckerJS_nowp/src/typechecker.js:29:5)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:382:7)
at startup (bootstrap_node.js:137:9)
at bootstrap_node.js:497:3
我正确导出类并尝试实例化它们,但这是我得到的错误。知道如何解决这个问题吗?
最佳答案
您需要声明 TypeErrorChecker
和 Transpiler
变量。尝试更新
require('./type_error_checker/TypeErrorChecker');
进入
const TypeErrorChecker = require('./type_error_checker/TypeErrorChecker');
对于Transpiler
也是如此
关于javascript - 在 Node 中导出和要求不起作用,说类未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43609206/