有人可以解释 Yii 最小化资产应该如何在 Heroku 上工作吗?

Can someone explain how Yii minimizing assets is supposed to work on Heroku?

我刚刚在本地完成了缩小工作 ()。但是,它会在 web/assets/ 下创建 all-1bc649be34b1e6afc9b2419687cde016.js 文件。 Yii 创建一个 .gitignore 来忽略该目录中的所有内容。 None 个文件将发送到 Heroku。即使我使用 heroku run yii asset assets.php config/assets-prod.php 它也只会创建网络测功机无法访问的临时文件。 (正如所怀疑的那样,它确实在生产中失败了。 CSS 不存在!)缩小如何与 Heroku 一起工作?如果我更改文件会怎样?我是否必须再次手动 运行 assets 命令?有没有办法让它自动?

好的,我在 Heroku 文档中找到了这个 gem。 https://devcenter.heroku.com/articles/php-support#custom-compile-step。原来有一种方法可以在 slug 编译期间在 Composer 的 composer.json 到 运行 中指定命令。所以我添加了

"scripts": {
    "compile": "php yii asset assets.php config/assets-prod.php"

并部署并自动生成缩小的资产!哇!这个 f----- 花了大约 10 个小时才开始工作 - 比它应该有的多得多!

哦,我应该提一下,我还必须破解 config/console.php 才能在 Heroku 上将 yii 命令发送到 运行,因为它给出了有关 Gii 的错误。

'bootstrap' => YII_ENV == 'dev' ? ['log', 'gii'] : ['log'],
'modules' => YII_ENV == 'dev' ? [
  'gii' => 'yii\gii\Module'
] : [],