2015-07-10 24 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

希望這有助於。