在Windows上的Symfony 2项目中编译Bootstrap 3

我一直在尝试在Windows上的Symfony 2项目中编译Bootstrap 3。 但是我无法让它工作。 我的主要目标是编译我自己的LESS文件。 我称之为“styles.less”。 在那里,我想能够使用像“make-xs-column”这样的bootstrap混搭。 所以我需要导入bootstrap.less。

这是我到目前为止所做的:

在我的composer.json中,我添加了bootstrap包:

{ ... "require": { ... "twitter/bootstrap": "v3.0.3" }, .... } 

因为我想使用Bootstrap 3,所以我不能使用lessphpfilter,所以我使用lessfilter。 为此,我不得不安装nodejs,然后减less(通过运行命令“ npm install less -g ”)。 最后,我修改了我的config.yml,如下所示:

 assetic: debug: "%kernel.debug%" use_controller: false bundles: [ JoePersonalWebSiteBundle ] filters: cssrewrite: ~ less: node: "C:\\dev\\nodejs\\lessc.cmd" node_paths: - "C:\\dev\\nodejs\\node_modules" apply_to: "\.less$" 

现在,在我的layout.html.twig中,我添加了以下内容:

 {% stylesheets filter='less' '@JoePersonalWebSiteBundle/Resources/less/styles.less' %} <link rel="stylesheet" type="text/css" href="{{ asset_url }}"> {% endstylesheets %} 

在我的“styles.less”文件中,我导入了“bootstrap.less”,如下所示:

 @import '../../../../../../vendor/twitter/bootstrap/less/bootstrap.less'; 

但是我总是得到一个错误。 事实上,即使我的“styles.less”文件是完全空的,我总是得到这样一个错误:

 [exception] 500 | Internal Server Error | Assetic\Exception\FilterException [message] An error occurred while running: &quot;C:\dev\nodejs\lessc.cmd&quot; &quot;C:\Users\joe\AppData\Local\Temp\assDE7E.tmp&quot; Error Output: [31mParseError: missing opening `{`[39m[31m in [39mC:\Users\joe\AppData\Local\Temp\assDE7E.tmp[90m on line 17, column 1:[39m [90m16 });[39m 17 [0m[0m [1] Assetic\Exception\FilterException: An error occurred while running: &quot;C:\dev\nodejs\lessc.cmd&quot; &quot;C:\Users\joe\AppData\Local\Temp\assDE7E.tmp&quot; Error Output: [31mParseError: missing opening `{`[39m[31m in [39mC:\Users\joe\AppData\Local\Temp\assDE7E.tmp[90m on line 17, column 1:[39m [90m16 });[39m 17 [0m[0m 

我试图创build自己的隐藏filter,而不是更less(基于在这里find的boteeka的工作)。 但是那也行不通。 文件越less,永远不会编译。 即使是空的,也可以是简单的。

有人能指点我的方向吗? 是否可以在Windows上编译Symfony 2项目中的Bootstrap 3? 如果是这样,有人可以给我我应该遵循的确切步骤吗?

我在Bootstrap v3.0.0中使用lessphp。 最初的想法是从http://mossco.co.uk/symfony-2/symfony-2-and-bootstrap-3-assetic-config-and-base-html-template-file/

我还添加了字体,图标的条目。

我的composer.json

 "require": { "components/jquery": "dev-master", "leafo/lessphp": "v0.4.0", "twbs/bootstrap": "v3.0.0", }, 

对于config.yml,将'cssembed'和'yuicompressor'复制到'%kernel.root_dir%/ Resources'/ java /

我的config.yml

  # Assetic Configuration assetic: debug: %kernel.debug% use_controller: false bundles: [ ] java: C:\Program Files\Java\jre7\bin\java.exe filters: cssrewrite: ~ cssembed: jar: %kernel.root_dir%/Resources/java/cssembed-0.4.5.jar yui_js: jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar lessphp: file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php apply_to: "\.less$" assets: jquery_js: inputs: - "%kernel.root_dir%/../components/jquery/jquery.min.js" filters: [?yui_js] bootstrap_js: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/transition.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/alert.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/modal.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/dropdown.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/scrollspy.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/tab.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/tooltip.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/popover.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/button.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/collapse.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/carousel.js" - "%kernel.root_dir%/../vendor/twbs/bootstrap/js/affix.js" filters: [?yui_js] bootstrap_less: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/less/bootstrap.less" filters: [lessphp, cssembed] fonts_glyphicons_eot: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.eot" output: "fonts/glyphicons-halflings-regular.eot" fonts_glyphicons_svg: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.svg" output: "fonts/glyphicons-halflings-regular.svg" fonts_glyphicons_ttf: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.ttf" output: "fonts/glyphicons-halflings-regular.ttf" fonts_glyphicons_woff: inputs: - "%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.woff" output: "fonts/glyphicons-halflings-regular.woff" 

在这里我的base.html.twig

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>{% block title %}Welcome!{% endblock %}</title> {% block stylesheets %} {% stylesheets '@bootstrap_less' combine=true %} <link href="{{ asset_url }}" type="text/css" rel="stylesheet"> {% endstylesheets %} {% endblock %} <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> </head> <body> {% block body %}{% endblock %} {% block javascripts %} {% javascripts '@jquery_js' '@bootstrap_js' filter='?yui_js' combine=true %} <script src="{{ asset_url }}"></script> {% endjavascripts %} {% endblock %} </body> </html> 

以某种方式c​​ssembed不必要或不能正常运行,并可以删除这个解决scheme!