Tengo estas tres clases:
Comprobador de tipos:
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();Comprobador de errores de tipo:
class TypeErrorChecker { constructor() { console.log("TypeErrorChecker initialised"); } } module.exports = TypeErrorChecker;Transpilador:
class Transpiler { constructor() { console.log("TypeChecker transpiler initialised"); } } module.exports = Transpiler;Cuando ejecuto la clase TypeChecker que requiere ambas clases (así como fs y ruta), aparece el siguiente error:
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:3Exporto las clases correctamente y trato de instanciarlas, pero este es el error que recibo. ¿Algúna idea de cómo arreglar esto?
Debe declarar TypeErrorChecker y Transpiler vars. Intenta actualizar
require('./type_error_checker/TypeErrorChecker');en
const TypeErrorChecker = require('./type_error_checker/TypeErrorChecker'); Y lo mismo para Transpiler