Варианты:
1. Под каждую страницу создать каталог с файлом шаблона и файлом данных. Node-скрипт идет по каталогам, считывает файл данных, считывает файл шаблона, передает данные в шаблон.
2. Создать отдельную директорию data c 50-ю json-файлами и одним js-файлом который считывает их все и объединяет в один объект, который затем и передается в pug-шаблон.
Alex Wells, Что значит "база должна иметь доступ с определенных айпи"? Грубо говоря, есть два сервера - на одном работает node-приложение, на другом - сервер базы данных и все, тут не супер-энтерпрайз. Node-приложение должно иметь доступ на все операции с данными. А как ограничивают действия?
Alex Wells, а если у проекта 10 зависимостей, каждая их которых имеет 10 зависимостей, каждая из которых..., как проверить все эти исходники? Что если npm audit не поможет?
Cторонний скрипт может прочитать эти переменные и отправить себе: const env = JSON.stringify(process.env);
Хочется придумать способ не давать читать такие данные кому попало.
Евгений, возможно, слова "как сохранить позицию скролла" немного путают, поэтому переписал вопрос и добавил видео на примере нативного приложения Telegram как это должно работать.
Нужно задаться следующими вопросами:
1. Как должны вести себя блоки при добавлении текста в них? В данном случае это примерно известно.
2. Как будет выглядет весь этот виджет при добавлении новых пунктов? И будут ли новые пункты?
3. Как будет вести себя рамочка при добавлении новых рядов, при сжатии-сужении окна браузера и пр.?