ノードプロセスが実行されているディレクトリへの絶対ファイルシステムパスを取得するには、 process.cwd()
を使用できます .だから仮定 /server.js を実行しています /services/template-reading-service.js を実装するプロセスとして モジュールとして、/service/template-reading-service.js から次のことができます :
var appRoot = process.cwd(),
templateContent = fs.readFileSync(appRoot + '/templates/my-template.html', 'utf8');
それでもうまくいかない場合は、/service/template-reading-service.js を実行している可能性があります 個別のプロセスとして、そのプロセスが primary として処理したいパスを渡すすべての起動を行う必要があります。 アプリケーションルート。たとえば、/server.js が /service/template-reading-service.js を起動するとします。 別のプロセスとして /server.js 独自の process.cwd() を渡す必要があります。
試してみてください
var templateContent = fs.readFileSync(path.join(__dirname, '../templates') + '/my-template.html', 'utf8');