我正在使用symfony framework 3开发一个web应用程序。我需要将bootstrap的功能添加到我的应用程序中。我使用以下命令安装了bootstrap。(我使用composer。)
composer require twbs/bootstrap
它将 Bootstrap 安装到应用程序的供应商文件夹中。更具体地说,是vendor\twbs\bootstrap
。
我需要将bootstrap的css
和js
文件作为资产附加到应用程序的twig模板(位于app\Resources\views
)中。
例如:
<link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet" />
但是资产只能与位于web(web\bundles\framework
)文件夹中的文件一起使用。我可以手动将这些.css
和.js
文件从vendor文件夹复制到web文件夹中,但应该有一个正确的方法来完成此操作(即:添加资产)。例如:带有bin/console
的命令?
任何帮助都是感激不尽的。
7条答案
按热度按时间dm7nw8vv1#
Symfony最佳实践为该问题提供了答案:https://symfony.com/doc/current/best_practices.html#web-assets
如果你正在开发这样的应用程序,你应该使用技术推荐的工具,比如Bower和GruntJS。你应该把你的前端应用程序和你的Symfony后端分开开发(如果你愿意的话,甚至可以把存储库分开)。
在我们的项目中,我们使用grunt来构建这些文件并将其连接到web文件夹中。
ttcibm8c2#
看起来这在Symfony3中不再起作用。
在Symfony3中,以下内容应该可以正常工作:
swvgeqrz3#
自Symfony版本4以来的建议方法changed:Webpack Encore与npm / yarn一起使用,用于捆绑CSS和JavaScript资源,其中可以包括Bootstrap框架。
从installing Encore开始,然后是the Bootstrap-specific documentation。总之,必须执行以下命令:
u3r8eeie4#
从这个链接https://coderwall.com/p/cx1ztw/bootstrap-3-in-symfony-2-with-composer-and-no-extra-bundles(并将
twitter
更改为twbs
)中,我在config.yml
中得到了以下内容:我在我的
composer.json
中确实有其他依赖项,例如jsqueeze
,或者Leafo的scss处理器,以及jquery
等等。我在我的composer文件中有这样的内容:然后,我将它用于css,如下所示:
对于javascript,首先放置
jquery
:然后,我使用
bin/console assetic:dump
编译所有资产。希望能有所帮助!
x0fgdtte5#
由于Symfony v2.6包含一个新的表单主题,该主题是为Bootstrap 3oficial documentation设计的
krugob8w6#
作为一种替代解决方案,符号链接可以在软件包更新时自动创建。例如,在
composer.json
中,在"post-update-cmd"
中添加新命令:bkhjykvo7#
如果您喜欢非常简单的方法...
在composer.json中...
其中copy-bootstrap.sh包含...
然后......
现在在base. html. twig中...
在index. html. twig中...
产生了这个...