我刚刚在本地完成了缩小工作(How do I combine & minify JS and CSS for a Yii app on Heroku?)。但是,它会在all-1bc649be34b1e6afc9b2419687cde016.js
下创建web/assets/
文件。 Yii创建一个.gitignore
来忽略该目录中的所有内容。没有任何文件会进入Heroku。即使我使用heroku run yii asset assets.php config/assets-prod.php
,它也只会创建Web dynos无法访问的临时文件。 (因为怀疑它在生产中失败.CSS不在那里!)缩小如何与Heroku一起工作?如果我更改文件会怎么样?我是否必须再次手动运行assets
命令?有没有办法让它自动化?
答案 0 :(得分:2)
好的,我在Heroku docs中找到了这个宝石。 https://devcenter.heroku.com/articles/php-support#custom-compile-step。事实证明,有一种方法可以在段塞编译期间在Composer' composer.json
中指定一个命令。所以我添加了
"scripts": {
"compile": "php yii asset assets.php config/assets-prod.php"
并部署并自动生成缩小的资产!呼!这个f -----需要10个小时才能开始工作 - 比应该的方式更多!
哦,我应该提一下,我也必须破解config/console.php
才能让yii
命令在Heroku上运行,因为它给出了关于Gii的错误。
'bootstrap' => YII_ENV == 'dev' ? ['log', 'gii'] : ['log'],
'modules' => YII_ENV == 'dev' ? [
'gii' => 'yii\gii\Module'
] : [],