为什么 Symfony2 bundle不应该嵌入第三方库



捆绑包结构和最佳实践:

捆绑包不应嵌入用 JavaScript 编写的第三方库, CSS 或任何其他语言。

为什么我不应该创建一个引导程序或jQuery捆绑包?

我认为如果所有第三方 CSS 和 JavaScript 库都存在于自己的捆绑包中,那么维护起来会更容易。

嗯,一方面,这是违反直觉的。Symfony Bundles是用于PHP功能的包,你正在谈论捆绑前端库。

其次 - 为什么会更容易?像bootstrap和jQuery这样的东西一开始就是公共资源 - 它们不需要可分发的捆绑包来实现高重用。PHP 资源不是公共的,因此可以从这种类型的系统中受益。

当两个或多个捆绑包使用相同的第三方库但版本不同时,就会出现混乱。捆绑包的用户将无法选择要包含的库,因此当时不能同时使用这两个捆绑包。

如果您的捆绑包

是独立的应用程序,即应用程序的主捆绑包,则可以将它们存储在捆绑文件夹中。例如,SonataAdminBundle包括第三方库:bootstrap.css,qtip,famfamfam图标。

看看MopaBootstrapBundle,https://github.com/phiamo/MopaBootstrapBundle 它为你集成了TwitterBootstrap和jQuery lib,如果你启用initializr addon,还有HTML5BoilerPlate。

相关内容

最新更新