首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZEIT Now/GatsbyJS -部署到子目录

ZEIT Now/GatsbyJS -部署到子目录
EN

Stack Overflow用户
提问于 2019-12-27 20:22:06
回答 1查看 648关注 0票数 0

我目前拥有一个名为vidu.sh的域名,我现在想通过ZEIT部署一个Gatsby应用程序。我已经在仪表板中添加和配置了域(域是在外部服务上购买的,我已经更改了名称服务器以匹配ZEIT‘good和all的优点)

部署的应用程序应该可以在https://vidu.sh/an上使用。(请不要说,在我写这行的时候,我的应用程序可能是可用的,因为我以前有一个涉及Github页面的配置。我现在想迁移到ZEIT,因为它更符合我的需要)

有没有一种方法可以将应用程序部署到请求的URL中,而不将我的gatsby应用程序源移到一个名为"/an"/的目录中?

如果除了创建"/an"目录之外没有其他选择,我应该如何配置项目以处理自定义的404页?(见我的先前未回答的问题)

基本上,我想使用https://vidu.sh/an作为我的应用程序的根。

到目前为止,我已经挖掘了以下文档,通过这些文档,我无法将它们联系起来以实现我的目标:

  • -前缀-路径:盖茨比提供的一个标志,用来说明应用程序将托管在某个地方,而不是根域(/)上。我不确定现在使用,CLI将自动添加此标志。
  • now.json:我知道从我的根目录提供这个文件将允许我自定义现在的行为CLI,但是我看不出应该添加什么来修改构建脚本。
  • 自定义404:似乎通过这个方法可以将404与嵌套文件夹匹配,因此"/an“解决方案似乎是最可行的。我只是觉得创建那个目录不是最好的选择。

更新

我尝试了以下now.json配置:

代码语言:javascript
复制
{
  "version": 2,
  "rewrites": [
    {
      "source": "/an",
      "destination": "/"
    },
    {
      "source": "/an/(.*)",
      "destination": "/$1"
    }
  ]
}

这是可行的,但不知何故,我被重定向到根域。我怀疑这是盖茨比的行为,现在由ZEIT直接处理的事情不会改变URL

有什么暗示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 22:47:59

通过使用rewrites--prefix-paths来解决我的问题,以下是解决方案:

package.json

代码语言:javascript
复制
{
  "scripts": {
     "build": "gatsby build --prefix-paths",
   }
}

now.json

代码语言:javascript
复制
{
  "version": 2,
  "rewrites": [
    {
      "source": "/an",
      "destination": "/"
    },
    {
      "source": "/an/(.*)",
      "destination": "/$1"
    }
  ]
}

现在调用部署将使用带标志的构建脚本。服务器将被配置为使用重写规则!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59505684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档