Javascript Feathers.js-加载静态内容

Javascript Feathers.js-加载静态内容,javascript,node.js,express,feathersjs,Javascript,Node.js,Express,Feathersjs,我正在评估一个项目。我喜欢它的抱负。因此,我决定尝试建立一个基本的内容管理系统,作为一种学习努力。事情进展得相当顺利。但是,我想在应用程序启动时将一些静态内容(文章)加载到内存中。我不知道该怎么做 我的文章在data/articles目录中。每篇文章的降价名称为[title].md。我在一个控制台应用程序中测试了一块JavaScript,该应用程序将标记转换为HTML。该代码用于将HTML转换为JSON对象。看起来是这样的: const fs = require('fs'); const mar

我正在评估一个项目。我喜欢它的抱负。因此,我决定尝试建立一个基本的内容管理系统,作为一种学习努力。事情进展得相当顺利。但是,我想在应用程序启动时将一些静态内容(文章)加载到内存中。我不知道该怎么做

我的文章在data/articles目录中。每篇文章的降价名称为[title].md。我在一个控制台应用程序中测试了一块JavaScript,该应用程序将标记转换为HTML。该代码用于将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文件中,该文件是在使用yeoman生成器创建Feathers项目时生成的。但是,我不确定这到底是什么样子。

因为feathers是一个Express应用程序,所以您应该能够使用Express中间件。我推荐使用这个工具,它允许您为自己创建HTML模板,并在不创建任何解析器或for循环的情况下进行标记和静态服务

或者,这个中间件将在将其作为Jade模板中的HTML提供之前准备降价

var docserver = require('docserver');
...
app.use(docserver({
  dir: __dirname + '/docs',  // serve Markdown files in the docs directory...
  url: '/'}                  // ...and serve them at the root of the site
));