2015-07-10 25 views
3

好吧,当安装适用于Visual Studio 2015的Web Essentials 2015时,我很惊讶它不再包含较少的编译器: “Web Essentials 2015不再包含以下功能:捆绑和缩小JS,CSS和HTML文件以及编译LESS“。无法使用Web Compiler 2015编译嵌套的较少文件

以前用Visual Studio 2013一切正常。所以我下载了Web Compiler 2015,因为它是Mads Kristensen的新编译器。但是,在将所有需要编译的文件添加到compilerconfig.json之后,我在编译时遇到了一个错误,它无法识别我的变量,也无法识别我的mixin!

这里是我的site.less:

/* Colors and common variables */ 
@import "Colors"; 
@import "Variables"; 

/* Reseting default values for all internet browsers */ 
@import "Reset.css"; 

/* BootStrap */ 
@import "../../../Content/bootstrap/bootstrap.less"; 

/* Basic mixins */ 
@import "mixins/Generic_Mixin.less"; 
@import "mixins/Controls.less"; 
@import "mixins/Images.less"; 
@import "mixins/Navigation.less"; 
@import "mixins/Text.less"; 

/* Website specific classes */ 
@import "Controls.less"; 
@import "Footer.less"; 
@import "Header.less"; 
@import "Images.less"; 
@import "Text.less"; 
@import "combobox.less"; 

@import "Sitemaster.less"; 

这是我的许多错误之一:

variable @font-size-base is undefined on line 49 in file 
'C:\Users\(...)\Site.WebApp\App_Themes\Default\Styles\mixins\Variables.less': 

请,我什么都不懂这一切,任何人都会有一个答案为了我 ?谢谢。

回答

5

我有同样的问题。 Web编译器在很多方面都失败了,解决方法很混乱,并且不容易支持。未来版本的Web编译器可能会有用,但我得出的结论是,切换到更成熟的编译工具是很麻烦的。

这是为我工作: 禁用Web编译器 工具 - >扩展和更新 - >安装(搜索Web编译器) - >通过以下的很多教程之一禁用

然后设置Grunt.js在那里。我用这一个由Scott Hanselman在: http://www.hanselman.com/blog/IntroducingGulpGruntBowerAndNpmSupportForVisualStudio.aspx

这里还有一个导游,我发现非常有用: https://www.orderfactory.com/articles/Bootstrap-LESS-Grunt-VS.html

因为它听起来像你基本上是我在那里之前,我按照以上说明,有一个机会,你可能会遇到进入TypeScript编译的另一个问题,默认情况下打开了Web编译器。

如果您遇到一堆与lib.core.d.ts相关的“重复标识符”错误,您可能必须禁用自动打印脚本编译: 右键单击Project-> Properties-> TypeScript Build->取消选中“在保存时编译“

安装Web编译器并设置节点工具并分配自动化任务可能会导致ts编译器释放所有node_modules,寻找要编译的内容。它可能是一团糟。

如果您希望在构建时保留TypeScript编译,您需要将tsconfig.json文件添加到项目的根目录以定义特定的文件路径。没有这个文件,编译器看起来无处不在,你真的不想这样做。我发现禁用它很容易。

这里有更多的信息: Typescript, confusing "duplicate identifier" error message

希望这有助于。