Я оцениваю feathers.js для проекта. Мне нравятся его устремления. Итак, я решил попробовать создать базовую систему управления контентом, как учебное задание. Все прошло довольно гладко. Тем не менее, я хочу загрузить статический контент (статьи) в память при запуске приложения. Я не могу понять, как это сделать.Feathers.js - Загрузка В статических материалах
У меня есть мои статьи в каталоге данных/статей. Каждая статья - это уценка с именем [title] .md. У меня есть блок JavaScript, который я тестировал в консольном приложении, которое преобразует уценку в HTML. Этот код использует markdown-js, чтобы получить HTML-код в объект JSON. Это выглядит следующим образом:
const fs = require('fs');
const markdownConverter = require('markdown');
let articles = [];
let files = fs.readdirSync('./data/articles');
for (let i=0; i<files.length; i++) {
let title = files[i].substr((files[i].lastIndexOf('/')+1), (files[i].length-3));
let markdown = fs.readFileSync(files[i], 'utf8');
let html = markdownConverter.toHTML(markdown);
articles[title] = html;
}
Я добавил маршрут Перья, который работает так:
app.use('/articles/:slug', function(req, res) {
console.log('loading article: ' + req.params.slug);
let content = '';
// TODO: How to get access to the articles array.
// I want to get the HTML using content = articles[req.params.slug];
res.render('article', { content: content });
});
Я не уверен, куда поместить код, который загружает уценки в массив, Я могу получить доступ, когда пользователь запрашивает статью. Где это? Моя догадка заключается в файле app.js, который генерируется при создании проекта Feathers с использованием генератора yoman. Тем не менее, я не уверен, что это на самом деле выглядит.