在我的symfony 4项目中,我使用各种图像。
我有静态图片用来装饰网站。我将它们放在assets/images
中,并使用public/build/images
在webpack-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 '
中。有人遇到过同样的问题吗?
答案 0 :(得分:0)
您可以使用heroku-buildpack
它使用Composer进行依赖性管理,支持PHP或HHVM(实验性)作为运行时,并提供Apache2或Nginx Web服务器的选择。