无法使用Web Compiler 2015编译嵌套的较少文件

时间:2015-07-10 15:51:04

标签: nested less visual-studio-2015 web-essentials

好吧,在为Visual Studio 2015安装Web Essentials 2015时我很惊讶它不再包含较少的编译器: " Web Essentials 2015不再包含用于捆绑和缩小JS,CSS和HTML文件以及编译LESS"的功能。

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

这是我的网站。

/* 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':

拜托,我对所有这一切都不了解,任何人都能找到答案吗? THX。

1 个答案:

答案 0 :(得分:5)

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

这对我有用: 禁用Web编译器 工具 - >扩展和更新 - >已安装(搜索Web编译器) - >禁用

然后按照许多教程之一设置Grunt.js。斯科特汉塞尔曼用过这个: 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->取消选中“Compile on save”

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

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

以下是有关该信息的更多信息: Typescript, confusing "duplicate identifier" error message

希望这有帮助。