小编mla*_*her的帖子

如何让Assetic + sass在Windows中与Symfony2一起使用?

我试图让Assetic在Symfony 2.0.11中运行,以便将sass用于css文件.

我一直在摆弄这个问题几个小时,从我收集到的当前资产版本(1.0.2)搞砸了,在Windows中无法工作.

我尝试将资产和asseticBundle更新为github的最新Master版本,但是这些需要Symfony 2.1,它带来了很多变化并且不向后兼容(更不用说它也没有正式发布),所以这不是一个选项.

这个帖子上的symfony2 assetics yui压缩器在windows(路径语法)上提供了一些很好的洞察力,但遗憾的是它推荐的资产lib的变化不足以使它在我的环境中正常工作.

我在https://github.com/kriswallsmith/assetic/commit/5621cd449b0d85316e5872d672e7e900edc2246chttps://github.com/kriswallsmith/assetic/issues/25中找到了一些有趣的内容.

最后,我所知道的是我需要更改vendor/assetic/src/Assetic/Util/ProcessBuilder.php,可能是包中的其他一些文件,也许在我的config.yml文件中添加一些信息(似乎在添加java或sass的路径可能有帮助).

我需要的是那些能够获得工作配置的人,让我指出我所缺少的东西,或者理想的是让那个该死的东西工作所需的步骤.

任何人都可以完成任务吗?

_____更新:仍在挖掘,现在只有3天了:/

新元素:

1/php5.3.8可能有proc_open和数据> 2048字节的问题,根据https://bugs.php.net/bug?php?id=60120 这个问题可能会影响从git存储库获取symfony(https: //github.com/symfony/symfony/issues/3216).发出"git config --global core.autocrlf input"并从git重新获取所有内容允许我使用php5.3.10而不会崩溃.

2/https://github.com/kriswallsmith/assetic/commit/5621cd449b0d85316e5872d672e7e900edc2246c看起来像是一个不错的基础.我在Process.php中对路径进行了一些小修改(参见https://github.com/kriswallsmith/assetic/issues/92),但我不确定它是否相关.无论如何,我从Assetic获得的命令行在shell中运行并输出预期的css.

3/sass.bat(位于Ruby193\bin中)需要拥有ruby.exe的绝对路径才能更进一步(我学到了很难的方法,你只看到错误信息,如果你var_dump并杀死脚本at正确的地方!)

现在,事情看起来好一点,但仍然没有使用sass(我认为它可以与其他一些过滤器一起使用)我设法在Process.php(在第172行附近)隔离了"$ data = fread($)管道,8192);" :脚本第二次在这个地方通过,$ pipe指向第二个资源,它永远不会返回...并且php卡住并且真的很难出现(我需要杀死/重启wamp至少两次到能够做另一个测试)

我真的不熟悉proc_open和stream,我很难理解代码在那里尝试做什么......

我希望这可以帮助下一个尝试让事情有效的人,并最终帮助我的案子.还在寻找一些支持!

_____Update:

进一步测试让我意识到当sass文件足够小时我可以使用"php app/console assetic:dump"工作.在我看来,实际的CSS规则(不包括变量定义和mixins)需要使用php5.3.10小于4096字节,甚至更少使用php 5.3.8.这指向https://bugs.php.net/bug.php?id=60120https://bugs.php.net/bug.php?id=51800中描述的proc_open错误

_____Update:

我试图安装php5.4来检查它是否正在解决问题.我花了一些时间才意识到这个版本在我的电脑上运行的原因是因为还没有x64版本.然后我安装了32位版本的wamp,并让php5.4轻松使用它.最终结果:proc_open仍然挂起:(我开始在这里没有想法......


演练:

所以,最终我让这个工作,并认为我试图总结以后的观众最重要的步骤:

1.安装Ruby 1.9.3和罗盘0.12

查看http://rubyinstaller.org/downloads/

将罗盘更新为0.12

"gem update --system"
Run Code Online (Sandbox Code Playgroud)

然后

"gem install compass"
Run Code Online (Sandbox Code Playgroud)

2.在罗盘中更改compiler.rb

在第10行转到Ruby193\lib\ruby​​\gems\1.9.1\gems\compass-0.12.0\lib\compass,替换

self.from, self.to = File.expand_path(from), to
Run Code Online (Sandbox Code Playgroud)

self.from, self.to …
Run Code Online (Sandbox Code Playgroud)

windows sass symfony assetic compass-sass

17
推荐指数
1
解决办法
1万
查看次数

AngularJS,防止控制器上的init方法在茉莉花测试期间启动

我有一个控制器,在实例化时启动了init()方法.它做了很多对我的应用程序在实时环境中有用的东西,但这与我的单元测试间谍混淆了.

有没有办法在单元测试环境中实例化控制器时阻止其调用?或者也许是一种在webapp上下文中自动调用它而不在控制器代码末尾显式调用init()的方法?

initialization jasmine angularjs

9
推荐指数
1
解决办法
4467
查看次数