Ich versuche yo einen Konstruktor aus einer anderen Datei zu meinem Projekt zu erstellen, die Sache ist, wenn Sie meine js nur den Konstruktor erkennen, wenn in der gleichen Datei deklariert ist, so ... This WorksErstellen Konstruktoren in Nodejs in anderen Datei
function docWeb(){
\t this.index = fs.readFileSync('./shalimar/index.html');
\t this.userLogin = fs.readFileSync('./shalimar/home-shalimar-user.html');
\t this.galery = fs.readFileSync('./shalimar/galeria.html');
\t this.basket = fs.readFileSync('./shalimar/carrito.html');
\t this.sells = fs.readFileSync('./shalimar/facturacion.html');
\t this.upload = fs.readFileSync('./shalimar/upload.html');
}
var pagina = new docWeb();
\t res.writeHead(200, { 'Content-Type': 'text/html' });
\t res.write(pagina.userLogin);
\t res.end();
\t return;
/*This Works*/
Aber wenn ich versuche, den Konstruktor auf eine andere Datei
var mod= \t \t \t require('./modulos/mod1');
var pagina = new mod.docWeb();
\t res.writeHead(200, { 'Content-Type': 'text/html' });
\t res.write(pagina.userLogin);
\t res.end();
\t return;
/*mod1*/
var fs = \t \t \t require('fs');
exports.docWeb =() =>{
this.index = \t \t fs.readFileSync('./shalimar/index.html');
this.userLogin = \t fs.readFileSync('./shalimar/home-shalimar-user.html');
this.galery = \t \t fs.readFileSync('./shalimar/galeria.html');
this.basket = \t \t fs.readFileSync('./shalimar/carrito.html');
this.sells = \t \t fs.readFileSync('./shalimar/facturacion.html');
this.upload = \t \t fs.readFileSync('./shalimar/upload.html');
}
werfen mich
TypeError: mod.docWeb is not a constructor
Wie sieht './Modulos/mod1.js' aus? –
im zweiten snipet können Sie sehen, wie mod1 aussieht ... Nach/* mod1 */coment –
Warum haben Sie es nicht nur in die andere Datei verschoben, sondern auch in die Pfeilsyntax geändert? [Pfeilfunktionen sind keine Konstruktoren!] (Https://stackoverflow.com/q/34361379/1048572) Verwenden Sie das Schlüsselwort 'function'. – Bergi