我一直在尝试在 Windows 上的 Symfony 2 项目中编译 Bootstrap 3。但我无法让它工作。我的主要目标是编译我自己的 LESS 文件。我称之为“styles.less”。在那里,我希望能够使用诸如“make-xs-column”之类的引导混合。所以我需要为此导入 bootstrap.less 。
这是我到目前为止所做的:
在我的 composer.json 中,我添加了引导程序包:
{
...
"require": {
...
"twitter/bootstrap": "v3.0.3"
},
....
}
由于我想使用 Bootstrap 3,我不能使用 lessphp 过滤器,所以我使用了 less 过滤器。为此,我必须安装 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:
"C:\dev\nodejs\lessc.cmd" "C:\Users\joe\AppData\Local\Temp\assDE7E.tmp"
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:
"C:\dev\nodejs\lessc.cmd" "C:\Users\joe\AppData\Local\Temp\assDE7E.tmp"
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
我尝试创建自己的凹槽过滤器来使用它而不是更少(基于 boteeka 的工作在这里找到)。但这也没有用。较少的文件永远不会编译。即使是一个空的,或者一个简单的。
有人可以指出我正确的方向吗?在 Windows 上是否可以在 Symfony 2 项目中编译 Bootstrap 3?如果是这样,有人可以给我我应该遵循的确切步骤吗?