我们的应用程序结合使用amd加载的js和使用less定义的css。对于我们的开发环境,我们使用单个文件并使用前端脚本来运行。但是对于生产而言,我渴望删除前端需求,并且也希望编译/压缩库。

目前,我们可以使用grunt在symfony外部进行此操作-但是,将其自动化并将其与symfony系统集成将是非常理想的。

例如:

开发人员:Assetic使用符号链接(symbolic link)来映射 bundle 软件中的文件-这允许在项目中进行编辑和测试。

Prod:Assetic运行Grunt并压缩文件,然后再将它们部署到Web目录中。

我渴望保留与 Twig 模板的集成以及Assetic提供的文件版本控制。

显然,咕Asset咕Asset与Assetic有交叠之处-但是他们/他们能否一起玩得很好?

最佳答案

除非需要使用Grunt,否则我将只使用Assetic。他们可以共存并且玩得很好,但是重叠似乎非常多余。我们将多个过滤器与Assetic一起用于我们的自动化部署,而不是使用require.js,我们在每个模板的基础上覆盖了其他脚本块,因此我们不会在不需要脚本的页面上加载脚本。

这是我们使用某些过滤器配置的Assetic的样子:

assetic:
debug:          %kernel.debug%
use_controller: false
bundles:        ['AcmeBundle', 'FOSUserBundle', 'FooBundle']
java:           /usr/local/bin/java
filters:
    less:
        node:       /usr/local/bin/node
        node_paths: [/usr/local/lib/node_modules]
        apply_to:   "\.less$"
    cssrewrite: ~
    cssembed:
        jar:      %kernel.root_dir%/Resources/java/cssembed-0.4.5.jar
        apply_to: "\.css$|\.less$"
    yui_css:
        jar:      %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
        apply_to: "\.css$"
    yui_js:
        jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
        apply_to: "\.js$"
    closure:
        jar: %kernel.root_dir%/Resources/java/compiler.jar

关于javascript - Symfony, Grunt ,requires.js和Assetic,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15506915/

10-10 18:56