我如何使用 nginx 将 gatsby.js 托管在子目录上,我已经尝试过使用proxy_pass http://127.0.0.1:8000
with gatsby develop
但我遇到了 Socket.io 的问题。有谁知道如何在我尝试使用以下重写代码的子目录上托管 gatsbyrewrite ^([^.\?]*[^/])$ $1/ permanent
。但这没有任何作用。
Fix
好吧,一开始我用的是gatsby develop
这样我就可以利用HMR,但我想乞丐不能是选择者,所以根据fabian所说,我做了以下事情。
这就是我最终所做的,
我添加了这一行pathPrefix: '/blog'
on my gatsby-config.js
file
I ran gatsby build --prefix-paths
在我的项目的主目录中
并复制了上面的内容public
文件夹移动到名为的文件夹blog
在我网站的根目录中,它运行完美(没有 HMR,就是这样)。
GatsbyJS 是一个静态站点发电机,这意味着它输出静态 HTML、CSS 和 JS。您实际上不需要设置 NodeJS 服务器来使其运行。gatsby develop
只能用于开发(本地),不能用于生产。
基本上,你会想跑gatsby build
并移动/上传本地中的所有文件public
目录到服务器上的子目录。当然,该子目录需要是通过 NGINX 公开提供/服务 https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/#root、阿帕奇或类似的。例如通过:
location /subdirectory {
root /html/my-site/public;
index.html;
}
Find 有关部署 GatsbyJS 的更多详细信息请参见此处 https://www.gatsbyjs.org/docs/deploy-gatsby/。另外,别忘了添加路径前缀 https://www.gatsbyjs.org/docs/path-prefix/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)