LESS编译器和相对@import引用在Web Essentials 2012 v2.7中无法工作

16
更新到v2.6可在VS 2012中使用,我已安装Web Tools 2012.2更新,但我注意到一个问题,在v2.5.1版本中不存在(我现在降级以进行修复),即LESS文件中的@import行不再定位引用的文件。
编译器会出错,除非@import行中引用的文件与物理文件夹相同。如果存在任何路径信息,例如"../../style/common.less",则编译器将响应错误,并且不会创建生成的CSS文件。
我得到的错误是无法找到文件,路径信息截断为第一个父路径构造或无。因此,它正在查找"../style/common.less"或"style/common.less"。似乎在两者之间是间歇性的。
有关可能相关的问题,请参见:LESS导入CSS和相对路径
更新:确认预期行为在LESS v1.3.1及以下版本中正常工作。
我通过Visual Studio扩展更新对Web Essentials的版本进行了升级到v2.6。然后,我替换了路径X:\Users\{USER}\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\{HASH}\Resources\Scripts\less-1.3.0.js中LESS脚本文件的内容(原始版本为Web Essentials v2.6),并将其替换为版本1.3.0、1.3.1、1.3.2、1.4.0-beta、1.4.0和1.4.1的脚本。仅版本1.3.1及以下版本可以编译成功。
我想知道当支持@import-once被移除时是否出现了问题。
更新2: Web Essentials的版本2.7仍然存在这种行为,但也可以通过上述方式进行修复。
2个回答

12

2.6版本中包含了官方LESS编译器的1.3.3版本,可能存在一个错误。我将调查此问题,并在有修复时发布更新。

感谢您报告此问题!

更新:已解决!

截至2013年7月16日,这个问题已经得到确认并在VS 2012中得到解决。

Web Essentials 2.8版本已经解决了此问题,因此,如果您从Visual Studio 2012内部或通过手动安装扩展程序再次更新,您将能够使用相对@import语句的LESS编译器。

它只能与LESS 1.3.3一起使用(该扩展程序捆绑的版本),但这不应该是问题,因为现在它可以直接使用。

要查看扩展程序v2.8中还更新了什么,请查看更改日志: http://vswebessentials.com/changelog

感谢Mads Kristensen和其他团队成员帮助解决此问题!

更新:VS自动更新

针对VS 2013的扩展程序v2.8.1已推送到Visual Studio扩展程序库。您应该获得VS自动更新消息或转到“工具>扩展和更新...”菜单项并从那里更新。


2
嗨,这方面有什么消息吗?我昨天也遇到了同样的问题 :( - Nick
1
这里也有相同的问题,使用了 OP 的修复方法,但最好还是发布一个更新。 - Guillaume86
关于上面的注释:如果b.less导入a.less,c.less导入b.less,则c.less的输出为空。 - Andre Loker
我遇到了与@AndreLoker类似的问题。如果多个LESS文件导入相同的文件,则编译结果可能为空。一旦我更新到2.8,这个问题就出现了。 - Anna Brenden
我通过遵循rjgotten的建议(https://github.com/madskristensen/WebEssentials2013/pull/25#issuecomment-21098875)成功修复了最严重的问题(需要手动修改插件文件)。 - Andre Loker
显示剩余8条评论

3

有没有关于使用VS 2012的建议可以给开发者们? - Jacob T. Nielsen
那么,这是Web Essentials、LESS编译器还是其他什么问题?Web Essentials/Web Tools 2012的开发已经停止了吗? - Neil Monroe
@NeilMonroe:这是一个包装器的问题,让LESS编译器通过WSH工作。https://github.com/SLaks/WebEssentials2013/commit/f3c40f04445b73cf50f6ce0827b816411181d019 - SLaks
@JacobT.Nielsen:我问了Mads。https://github.com/madskristensen/WebEssentials2013/pull/25#issuecomment-21067466 - SLaks
@JacobT.Nielsen:这已经发布适用于VS2012。http://vswebessentials.com/changelog - SLaks
@SLaks 非常迅速,非常感谢。 - Jacob T. Nielsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接