У меня есть облачная функция http, которая возвращает динамику c HTML. Я хочу использовать руль в качестве движка шаблонов. Шаблон достаточно большой, поэтому нецелесообразно иметь его в переменной const
поверх моей функции.
Я пробовал что-то вроде:
const template = fs.readFileSync('./template.hbs', 'utf-8');
Но при развертывании Функция Я всегда получаю сообщение об ошибке, что файл не существует:
Error: ENOENT: no such file or directory, open './template.hbs'
template.hbs
находится в том же каталоге, что и мой index.js
файл, поэтому я предполагаю, что проблема заключается в том, что Firebase CLI не связывает этот файл вместе с остальными файлами.
Согласно документам Google Cloud Functions можно связывать локальные модули с "mymodule": "file:mymodule"
. Поэтому я попытался создать папку templates
в root проекта и добавил "templates": "file:./templates"
в package.json
.
Моя структура файла выглядит примерно так:
/my-function
index.js
/templates
something.hbs
index.js //this is the entry point
А потом:
const template = fs.readFileSync('../node_modules/templates/something.hbs', 'utf-8');
Но я получаю ту же самую не найденную ошибку.
Как правильно включить и требовать не JS зависимостей в Firebase Облачная функция?