在symfony2中有编译和未编译的css / js文件我不知道。所以我们直接在web / css和web / js文件夹下对文件进行了更改。 现在我在如何将文件移动到资产文件夹下的文件的未编译文件方面遇到了麻烦。
所以我现在无法运行此命令: php app / console assetic:dump --env = prod --no-debug 这将重新创建web文件夹下的所有css和js文件,我们将放弃所有更改。
有没有任何命令或方法来扭转这种情况?就像将我们的更改从web / css或web / js文件夹移动到资产一次而不是手动选择它们?
答案 0 :(得分:3)
一种方法是备份您的web / css和web / js文件夹,然后运行
再次php app/console assetic:dump --env=prod --no-debug
。
这样,您将拥有包含更改的版本(在备份中),而不具有web / css和web / js。
然后通过服务器上的diff
命令,您可以发现必须手动移回资产的更改。
如果您在生产现场并且真的需要这个操作快速完成,您可以这样做:
前四个命令只是备份实际状态。
然后剩下的就是重新创建资产,然后将它们保存在文件夹中以便稍后进行比较,然后恢复手动更改的备份,这样浏览您网站的人就不会有时间注意到任何东西。
cd web
cp -R js js.bk
cp -R css css.bk
cd ..
php app/console assetic:dump --env=prod --no-debug && cd web && cp -R js js.clean && cp -R css css.clean && rm -R css && cp -R css.bk css && rm -R js && cp -R js.bk js
然后你可以将文件夹.bk与le文件夹.clean
进行比较diff css.clean css.bk
diff js.clean js.bk
并重新调整您对正确资产的更改
差异结果的虚拟示例:
bash$ diff a b
diff a/test.css b/test.css
1c1
< .a { color:#321; }
---
> .a { color:#123; }