我们的产品是使用内部框架开发的。我们将 PHP (5.4) 与 Twig 一起用作诱人的系统,并使用 Phing 进行部署。
最近,由于代码遗留问题,我们在更新 Javascript 和 CSS minifier\compressor 时遇到了问题,我们决定寻找其他解决方案。
我们找到了管理所有相关资产(css、js)及其工具(编译器、缓存、S3 等)的 Assetic 库,我们正在考虑如何集成到其中。在这样做的同时,我们必须考虑以下几点:
- Assetic 支持让前端开发人员使用 Twig 定义他们的 css\js 需求,这意味着他们不必接触服务器端代码。
- 今天我们通过服务器端定义我们的资产,因为我们的部署脚本需要缩小\压缩它,然后创建一个新的“compiled\gzip”脚本\css——我们希望能够跳过这部分而不是拥有需要为资产定义服务器端。
- 保持当前与 CDN 的集成对我们来说也很重要。在部署时,我们将资产\静态数据上传到 CDN。
- 我们希望能够支持 2 种模式:
- “源代码模式” - 意味着在开发过程中我们可以使用带有 minifier\compiler\merge 的脚本,并像一个一个地加载它们一样使用它们
- “合并模式” - 合并和编译\缩小(通过配置)并准备好部署(应该支持 QA 的开发)
通过上面提到的,我们想知道如何在不改变我们的核心框架的情况下将 Assetic 与我们的应用程序集成,并应用之前考虑过的和上面写过的东西。
谢谢