Хостинг блога Gatsby в приложении Express - PullRequest
0 голосов
/ 14 мая 2019

Это может быть глупый вопрос, и если да, то извинения. Мой сайт размещен на Heroku (приложение Express). У меня также есть блог, который я создал с помощью Gatsby, я хочу разместить Gatsby @ www.mysite.com/blog, могу ли я разместить свое приложение Gatsby из своего приложения Express, и если да, то как мне вызвать Gatsby с моих маршрутов Express.

Спасибо

1 Ответ

0 голосов
/ 15 мая 2019

Таким образом, ответ на этот вопрос довольно прост, потому что Гэтсби просто генерирует статический HTML, CSS и JS.Эти файлы могут быть переданы по определенному маршруту из App.js в моем случае "/blog".

Ключ заключается в том, чтобы убедиться, что в Gatsby настроен префикс пути, прежде чем создавать приложение и развертыватьфайлы.Это означает, что при сборке приложения все ресурсы имеют префикс «/ blog», что означает, что ресурсы можно найти в подпапке внутри приложения Express.

App.js

app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/blog', express.static(__dirname + '/blog/public'));
app.use('/users', usersRouter);
app.use('/api/v1/communicate', sendMail);

Gatsy-config.js

module.exports = {
  pathPrefix: '/blog',
  siteMetadata: {
    siteUrl: urljoin(config.siteUrl),
    rssMetadata: {
      site_url: urljoin(config.siteUrl),
      feed_url: urljoin(config.siteUrl, config.pathPrefix, config.siteRss),
      title: config.siteTitle,
      description: config.siteDescription,
      image_url: `${urljoin(
        config.siteUrl,
        config.pathPrefix
      )}/logos/logo-512.png`,
      copyright: config.copyright
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...