Chcete-li získat absolutní cestu souborového systému k adresáři, kde běží proces uzlu, můžete použít process.cwd()
. Takže předpokládám používáte /server.js jako proces, který implementuje /services/template-reading-service.js jako modul můžete provést následující z /service/template-reading-service.js :
var appRoot = process.cwd(),
templateContent = fs.readFileSync(appRoot + '/templates/my-template.html', 'utf8');
Pokud to nefunguje, možná používáte /service/template-reading-service.js jako samostatný proces, v takovém případě budete muset zajistit, aby všechna spuštění tohoto procesu předala cestu, kterou chcete považovat za primární kořen aplikace. Pokud například /server.js spustí /service/template-reading-service.js jako samostatný proces pak /server.js by mu měl předat svůj vlastní process.cwd().
Zkuste
var templateContent = fs.readFileSync(path.join(__dirname, '../templates') + '/my-template.html', 'utf8');