【问题标题】:Netlify: How do you deploy sites that are nested in a folder?Netlify:您如何部署嵌套在文件夹中的站点?
【发布时间】:2018-10-26 03:46:01
【问题描述】:

我有一个 repo,它在两个单独的文件夹中包含后端和前端 (create-react-app)。对于构建命令,我有类似 cd frontend && npm run build 的内容,对于发布目录,我有类似 frontend/build 的内容,但这不起作用。

【问题讨论】:

  • @Michael L. 你在部署中遇到错误吗?
  • 12:32:20 AM:错误运行命令:构建脚本返回非零退出代码:1 12:32:21 AM:构建失败:无法构建站点 12:32:20 AM:在“构建站点”阶段失败:构建脚本返回非零退出代码:1
  • 如果你在本地运行它,如果你运行相同的命令,你应该得到同样的错误。查看失败原因的原始错误。
  • 在本地运行 cd frontend && npm run build 工作

标签: web create-react-app static-site netlify


【解决方案1】:

免责声明:我为 Netlify 工作。

如果您要在一台新的笔记本电脑上克隆您的项目的新副本(例如,项目中没有安装节点模块),除了安装节点和 npm 之外什么都没有,您将如何建造它?想象一下netlify的构建过程是这样的。所以你至少缺少一个“npm install”步骤:)

还缺少什么,比如全局安装的 npm 包?需要在package.json 中指定它们,以便 Netlify 的构建网络知道为您抓取它们。红宝石?最好在你的 repo 中有一个Gemfile

Netlify 会自动为您尝试npm install(和bundle install),假设您的存储库的根目录中有一个package.json(我猜您的存储库在frontend/ 中?)或者如果您设置“base”参数,以便我们在基本目录中开始构建。这对您来说可能是一个很好的模式,将“base”设置为frontend,然后将您的发布目录设置为build

您可以在netlify.toml 中指定基本参数,如下所示:

[build] base = "frontend"

请注意,netlify.toml必须位于存储库的根目录中。

有关 Netlify 如何构建的更多详细信息,请查看以下文章:

如果经过一些阅读和实验,你仍然无法弄清楚,ping the helpdesk

【讨论】:

  • 我用 create-react-app 制作的其他网站没有嵌套在前端/后端文件夹中,没有 npm install 命令,它们工作正常。在哪里更改安装命令?
  • @MichaelL。正如我所提到的,您要么在 netlify.toml 中设置基础,然后不需要 npm install,因为这会自动发生,要么您在该站点的 UI 中更改构建和部署设置顶部附近的命令。建议设置基地!
  • 尤里卡!有趣的是,我的构建命令是相对于我的基本目录(如“npm run build”),但我的发布目录是相对于我的存储库的根目录“frontend/build”。
  • 这也应该在您提供的最后一个链接中……或者至少是指向此问题的链接;)
猜你喜欢
  • 2020-02-02
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多