Правильный способ ссылки на файлы относительно корня приложения в Node.JS

У меня есть приложение Node.JS, работающее в Linux на AWS EC2, которое использует модуль fs для чтения файлов шаблонов HTML. Вот текущая структура приложения:

/server.js
/templates/my-template.html
/services/template-reading-service.js

Шаблоны HTML всегда будут находиться в этом месте, однако служба чтения шаблонов может перемещаться в разные места (более глубокие подкаталоги и т. Д.). Внутри службы чтения шаблонов я использую fs.readFileSync () для загрузки файла , вот так:

var templateContent = fs.readFileSync('./templates/my-template.html', 'utf8');

Это выдает следующую ошибку: I '

Error: ENOENT, no such file or directory './templates/my-template.html'

м, если предположить, что это потому, что путь./» решает к/Сервисы/' каталог, а не корень приложения. Я'мы также пытались изменить путь к../templates/my-template.html» и это сработало, но кажется хрупким, потому что я представляю, что это просто разрешается по отношению кдо одного каталога ", Если я переместу службу чтения шаблонов в более глубокий подкаталог, этот путь прервется.

Итак, как правильно ссылаться на файлы относительно корня приложения?

Ответы на вопрос(3)

Ваш ответ на вопрос