初帖:我将项目从我的服务器移回本地 环境和现在.less文件将无法编译。
.kit和.js编译得很好。当我保存.less文件代码包时说 “成功代码套件已编译为xy.less”,但它没有生成任何内容。
此外,如果我在较少的文件中写一些垃圾,仍然有一个 成功的消息。
所有.less文件在代码工具包窗口中都很好地显示,但似乎 完全忽略较少的文件
osx Mavericks,codekit 1.9.3
我将问题缩小到.less导入中的@ font-face声明。 我使用myfonts.com的webfont我添加了myfonts.com css声明,如下所示:
@import url('//hello.myfonts.net/count/xy');
@font-face {
font-family: 'Blabla';
src: url('/webfonts/29DFBD_0_0.eot');
src: url('/webfonts/29DFBD_0_0.eot?#iefix') format('embedded-opentype'),
url('/webfonts/29DFBD_0_0.woff') format('woff'),
url('/webfonts/29DFBD_0_0.ttf') format('truetype');
}
有问题的行是format('embedded-opentype')
,在我的较少文件中包含此行,代码套件停止编译,但发出成功消息。
如果我在第四行写 Hello World :
@import url('//hello.myfonts.net/count/xy');
@font-face {
font-family: 'Blabla';
src: url('/webfonts/29DFBD_0_0.eot'); Hello World
src: url('/webfonts/29DFBD_0_0.eot?#iefix') format('embedded-opentype'),
url('/webfonts/29DFBD_0_0.woff') format('woff'),
url('/webfonts/29DFBD_0_0.ttf') format('truetype');
}
Codekit向我发出错误。
但如果我写相同的,下面一行:
@import url('//hello.myfonts.net/count/xy');
@font-face {
font-family: 'Blabla';
src: url('/webfonts/29DFBD_0_0.eot');
src: url('/webfonts/29DFBD_0_0.eot?#iefix') format('embedded-opentype'), Hello World
url('/webfonts/29DFBD_0_0.woff') format('woff'),
url('/webfonts/29DFBD_0_0.ttf') format('truetype');
}
这会抛出成功消息,编译后的.css不会更改。
所以这一行必须正确吗?:src: url('/webfonts/29DFBD_0_0.eot?#iefix') format('embedded-opentype'),
那是错的吗?
答案 0 :(得分:3)
与您的结论相反,我认为问题是MyFonts用于跟踪网页浏览的@import
声明,即:
/* @import must be at top of file, otherwise CSS will not work */
@import url("//hello.myfonts.net/count/1a2b3c");
这里,CodeKit中的LESS预处理器在缺少文件扩展名的URL时遇到问题。 该修复是在@import
之后的括号中指明文件类型:
@import (css) url("//hello.myfonts.net/count/1a2b3c");
[事实上,上面提到的CSS段不是显示 webfont所必需的,它可以正常工作(并且也不会阻塞CodeKit)。省略它可能会违反许可证,因为没有ping MyFonts的服务器,他们不知道你是否在webfont使用配额内。]