这可能是一个愚蠢的问题,如果可以的话,请您道歉。我的网站托管在Heroku(快速应用程序)上。我也有一个用盖茨比创建的博客,我想托管盖茨比@ www.mysite.com/blog,我可以在我的Express应用程序中托管我的盖茨比应用程序吗,如果可以的话,如何从我的Express路线中调用盖茨比。 / p>
谢谢
答案 0 :(得分:0)
因此,答案实际上非常简单,因为Gatsby只会生成静态HTML,CSS和JS。在我的案例“ / blog”中,可以通过App.js的特定路径来提供这些文件。
关键是在构建应用程序和部署文件之前,请确保在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
}