3

我有Font Awesome,Less,Twitter Bootstrap和MVC4,它們在調試模式下一起工作得很好。集成Font Awesome,Less,Twitter Bootstrap和MVC4捆綁/縮小版

當我部署並從web.config的編譯節點時,MVC4捆綁和微小踢刪除調試。

當我瀏覽我的網站時,部署這樣,字體真棒圖標不再起作用。

做一個視圖源以獲取引導內容捆綁給了我這個HTML:

<link href="/Content/bootstrap?v=q6mwz5qEMtOzVPXqIVuZ8Z6LtMFDC3_UV0F5pQm5Gfg1" rel="stylesheet"/> 

以URL和瀏覽器堅持我可以得到縮小的代碼:

@import"reset.less";@import"variables.less";@import"mixins.less";@import"scaffolding.less";@import"grid.less";@import"layouts.less";@import"type.less";@import"code.less";@import"forms.less";@import"tables.less";@import"font-awesome.less";@import"dropdowns.less";@import"wells.less";@import"component-animations.less";@import"close.less";@import"buttons.less";@import"button-groups.less";@import"alerts.less";@import"navs.less";@import"navbar.less";@import"breadcrumbs.less";@import"pagination.less";@import"pager.less";@import"modals.less";@import"tooltip.less";@import"popovers.less";@import"thumbnails.less";@import"media.less";@import"labels-badges.less";@import"progress-bars.less";@import"accordion.less";@import"carousel.less";@import"hero-unit.less";@import"utilities.less";@import"variables.less";@import"mixins.less";@import"responsive-utilities.less";@import"responsive-1200px-min.less";@import"responsive-768px-979px.less";@import"responsive-767px-max.less";@import"responsive-navbar.less"; 

我還有其他一些CSS捆綁包,當他們像上面一樣查看時,他們都沒有顯示任何錯誤。

當我查看Visual Studio 2012項目中的font-awesome.less文件時,VS認爲它有一些錯誤。記住字體真棒圖標在調試中顯示得很好,所以我不認爲有真正的錯誤。

第一個是:@fontAwesomePath:'../font';

我認爲路徑是正確的(無論如何調試),但VS告訴我fontAwesomePath不是已知的@指令。

VS還有很多其他的錯誤存在,但同樣的,字體真棒在調試模式下工作。

任何想法?

回答

3

我遇到了與TinyMCE類似的問題。當MVC將JavaScript封裝到一個包中時,產生的JavaScript引發了一個異常。

BundleTable.EnableOptimizations = false; 

如果你把那條線在你RegisterBundles功能在BundleConfig類,將關閉束,讓生產站點的工作。它不會自動將您的JavaScript最小化,但至少可以開始工作。

你可以讓他們手動最小化每個JavaScript文件以獲得最小的足跡,並希望找到有問題的js文件。

6

一個簡單的解決方法是從您的包中刪除font-awesome,並將其直接包含在帶有常規鏈接標記的_Layout中。

<link href="~/Content/font-awesome.min.css" rel="stylesheet"> 
1

我知道這是一個老問題,但如果人們仍然面臨這個問題。解決它的另一種方式是設置你的包名稱包括在路徑中css文件夾,以便例如:

bundles.Add(new StyleBundle("~/Content/styles").Include(".."); 

現在變成了:

bundles.Add(new StyleBundle("~/Content/css/styles").Include(".."); 
1

我有同樣的問題與FA 4.0.3 ,該文件夾結構模仿Bootstrap 3佈局的方式。BS工作FA不,去圖:)

不管怎麼說,我編輯的FA css文件直接添加路徑正確

@font-face { 
    font-family: 'FontAwesome'; 
    src: url('/Content/vendor/font-awesome/fonts/fontawesome-webfont.eot?v=4.0.3'); 
    src: url('/Content/vendor/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('/Content/vendor/font-awesome/fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('/Content/vendor/font-awesome/fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('/Content/vendor/font-awesome/fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

這對我的作品有(調試和發佈)的ASP.NET網絡優化模塊在NuGet上。

-Stephen