Symfony 4-Heroku-无法使用我的图片(webpack-encore)

时间:2019-11-21 19:49:01

标签: image symfony heroku webpack

在我的symfony 4项目中,我使用各种图像。

我有静态图片用来装饰网站。我将它们放在assets/images中,并使用public/build/imageswebpack-encore中生成它们。

这些图片,我用LiipImagineBundle

所以我在Heroku上部署了我的项目。它会安装捆绑包 node_modules ,并从资产中使用 webpack-encore 生成文件,并生成数据库

composer.json:

"compile": [
      "php bin/console doctrine:schema:drop --full-database --force --env=prod",
      "php bin/console d:m:m",
      "php bin/console d:f:l --no-interaction --env=PROD"
    ]

package.json:

"scripts": {
        "dev-server": "encore dev-server",
        "dev": "encore dev",
        "watch": "encore dev --watch",
        "build": "encore production --progress",
        "heroku-postbuild": "node_modules/.bin/encore production"
    },

但是,当我从Heroku上运行该应用程序时,该站点可以运行,但是必须通过LiipImagineBundle显示的图像却不能。相反,我有一个500错误,告诉我资源不存在。实际上,如果我进入“源”部分的公共/内部版本/图像中,则缺少图像。但是必须生成它们,因为在本地(开发人员)中,一切都可以完美运行。

我所有需要的产品包都在“ 要求”中,而不是“ require-dev ”中。而且我的 package.json 中没有 devDependencies ,它们都在' depedencies '

中。

有人遇到过同样的问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用heroku-buildpack

它使用Composer进行依赖性管理,支持PHP或HHVM(实验性)作为运行时,并提供Apache2或Nginx Web服务器的选择。