我们的应用程序结合使用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/