[英]Symfony2 Add Commands to be Run for Dev Environment
如果在Dev环境中每次加载页面时,如何让Symfony2运行某些命令?
我们使用TypeScript,我已经构建了一个命令,它将获取我的所有TypeScript并进行编译。 唯一的问题是,每次上传一些新代码时我都必须手动执行此操作,这会在调试时减慢速度(尽管这样做对于Production来说完全没问题)。
我希望它在每个页面加载时调用该命令(如果自上次编译以来某些文件已经改变了......我将构建所有逻辑)。 我只需要知道我应该在哪里接触。
谢谢。
如果您开始使用Symfony来编译TypeScript,我会尝试使用事件监听器
你可以尝试这样的事情(未经测试):
将服务添加到config_dev.yml
文件,以便侦听器仅在dev环境中运行
# app/config/config_dev.yml
services:
compileTypeScript:
class: myApp\TypescriptBundle\Controller\TypescriptComiler
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 64 }
我不确定优先级是如何工作的,但64似乎对我来说是个好消息。
创建上面引用的类,并添加代码以编译TypeScript。
//Class
class TypescriptCompiler extends controller
{
public function onKernelRequest(GetResponseEvent $event)
{
// compile your TypeScript here
}
}
当我们进行prod部署时,我们正在考虑触发grunt - 执行优化。
Dev使用原始文件和客户端实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.