Um einen absoluten Dateisystempfad zu dem Verzeichnis zu erhalten, in dem der Knotenprozess ausgeführt wird, können Sie process.cwd()
verwenden . Also vorausgesetzt Sie führen /server.js aus als Prozess, der /services/template-reading-service.js implementiert als Modul, dann können Sie Folgendes von /service/template-reading-service.js aus tun :
var appRoot = process.cwd(),
templateContent = fs.readFileSync(appRoot + '/templates/my-template.html', 'utf8');
Wenn das nicht funktioniert, führen Sie möglicherweise /service/template-reading-service.js aus als separater Prozess. In diesem Fall müssen alle Starts dieses Prozesses den Pfad passieren, den Sie als primären behandeln möchten Anwendungsstamm. Zum Beispiel, wenn /server.js /service/template-reading-service.js startet als separater Prozess dann /server.js sollte ihm seine eigene process.cwd() übergeben.
Versuchen Sie es mit
var templateContent = fs.readFileSync(path.join(__dirname, '../templates') + '/my-template.html', 'utf8');