这是我第一次提出关于SO的问题,这是因为找不到与我的问题匹配的关键字。
我有一个Symfony应用程序,并且正在使用随easyadmin
下载的composer
捆绑软件。我将以easyadmin
为例说明事实,但我的问题也可能在另一个捆绑包中。
因此,easyadmin
捆绑包具有多个依赖性,例如jquery v2.2.0
,bootstrap v3.3.6
,Respond.js v1.4.2
,select2 4.0.1
等... {{1}的依赖性}直到现在都不是问题。实际上,我现在需要使用easyadmin
的最新版本,即bootstrap
。
就像其他前端依赖一样,我正在使用4.1.1
。我所有的前端依赖项都位于名为yarn
的文件夹中,该文件夹位于
我项目的dependencies
文件夹。
我已经尝试下载带有public/asset
的{{1}}的最新版本,但是现在我的项目中已经加载了bootstrap
的两个版本。 有问题吗?
为了用javascript文件对此进行说明(因为我的问题涉及js和css文件),我有一个yarn
文件夹,其中包含bootstrap
:
vendor
我的文件夹easyadmin
包含项目的所有依赖项:
- vendor
|
--- easyadmin-bundle
|
--- src/Resources/public/javascript/
|
--- select2.min.js
--- bootstrap.min.js
--- respond.min.js
根据我的理解,在这种情况下,我必须在项目中拥有dependencies
的两个版本。因为- public
|
--- asset
|
--- dependencies
|
--- bootstrap.min.js
使用bootstrap
作为其功能,并且我需要easyadmin
用于我的项目。 我对吗?
例如,如果bootstrap v3
使用bootstrap 4
的版本4,我是否必须向项目中添加easyadmin
,还是应该使用{{1 }}?我很困惑..
提前感谢您的未来解答。
答案 0 :(得分:1)
在您的示例中,使用两种版本的引导程序都没有问题,因为EasyAdminBundle附带了这些依赖项,它们被塞在src/Resources/public/的捆绑软件中。这些文件将被复制或符号链接到项目的公用文件夹中。这意味着只要您不覆盖其中的任何一个,并且不要意外地将它们混入前端逻辑中就可以了。不混淆它们应该很容易,因为您只需要来自public / asset文件夹的文件,而不会干扰EasyAdminBundle创建的文件。
您不应该依赖EasyAdminBundle中的js和css,因为它无法控制其更新方式。因此,即使EasyAdminBundle在某个时候移至引导程序4,我还是建议您将前端依赖项与EasyAdminBundle提供的依赖项分开。此建议可能不会对提供资产的每个捆绑销售商品都有效。