逆向工程css &symfony2. Js文件


Reverse engineer css & js files in symfony2

在symfony2有编译和未编译的css/js文件,我不知道。所以我们直接修改了web/css和web/js文件夹下的文件。现在我有麻烦,如何将文件移动到未编译的文件,即资产文件夹下的文件。

所以我现在不能运行这个命令:PHP app/console asset:dump——env=prod——no-debug这将重新创建所有的CSS和js文件下的web文件夹,我们将失去我们所有的变化。

是否有任何命令或方法来逆转这个?比如将我们的更改从web/css或web/js文件夹移动到资产,而不是手动选择它们?

备份你的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文件夹和。clean文件夹

diff css.clean css.bk
diff js.clean js.bk

并重新调整你对正确资源的更改

一个diff结果的假示例:

bash$ diff a b
diff a/test.css b/test.css
1c1
< .a { color:#321; }
---
> .a { color:#123; }