繁体   English   中英

如何在Heroku上部署静态Web应用程序

[英]How can I deploy static web app on Heroku

我遵循了类似主题的答案中的说明( https://stackoverflow.com/a/17531897/4388482 )。 好吧,我的应用程序已部署在Heroku上,但效果不佳。 我收到以下警告

您的项目仅包含“ index.php”,而没有“ composer.json”。 不推荐使用“ index.php”将应用程序类型声明为PHP,因为它可能导致意外行为。

我可能需要安装一些东西吗?


UPDATE

项目结构最初是这样的:

项目结构最初是这个

我做了以下事情:

  • 安装了PHP 5composer
  • 我将package.json重命名为composer.json并删除了package-lock.json
  • 键入“ composer update”命令。 我收到“没有安装或更新”的消息。
  • 向gitignore添加了供应商。 将更改推送到heroku。

我收到以下警告

  1. 您的“ composer.lock”已过期!

  2. 在项目中找到Composer供应商目录!

Heroku的投诉是关于此文件夹的

作为记录,当前此文件夹的内容为:

bootstrap
fontawesome-free
jquery-easing
jquery

这里发生的是某人已将依赖项提交到您的版本控制,这不是一个好习惯。 它可以照原样工作,但是进行升级并不是一件容易的事,特别是因为您不容易看到当前的版本。

有三种方法可以解决此问题。

  1. 通过搜索Packagist来确定这些是否是PHP依赖 没有引导作曲家的依赖,但你必须看到,如果你正在使用的版本是可用的(或者是否可以升级到一个可用)。

  2. 通过搜索NPM ,确定这些是否为JavaScript依赖项。 我想知道是否值得检查package.json的内容,以防这些内容已被覆盖。 对于它的价值,我通常会考虑将这些候选库用于JavaScript库而不是PHP,但是会为您做些有用的事情。

  3. 选择将这些依赖项保留在现有vendor文件夹中。 它将起作用,但是由于已经说明的原因,它不是理想的。

在后两种情况下,您可能会因此放弃composer.json文件,应将其提交到存储库:

{
  "require": {
  }
}

您可以在此之后尝试composer install ,以查看它是否会在空的依赖项列表上生成.lock文件。 如果确实产生了,那么您也应该提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM