LESS詳解之編譯LESS

來源:互聯網
上載者:User

  掌握LESS,必須先掌握LESS的編譯。因為LESS是CSS預先處理語言的一種,是一種動態語言。LESS可以運行在各種語言和環境中,包括瀏覽器端、伺服器端等。就因為是一種CSS預先處理語言,所以需要編譯。下面為大家介紹一下編譯的方法。


  瀏覽器端編譯


  LESS可以在瀏覽器端不用編譯直接使用。在瀏覽器端使用LESS的時候,需要引入一個JS檔案,這個JS檔案能夠把LESS檔案在瀏覽器端編譯成CSS檔案,然後在呈現到頁面上。


  使用方法


  1、下載less-1.4.2.min.js檔案;

  下載地址:http://www.leemagnum.com/js/less-1.4.2.min.js

  2、頁面引入尾碼名為“.less”的檔案

<link rel="stylesheet/less" type="text/css" href="styles.less" />

  3、頁面引入下載過的less-1.4.2.min.js的檔案

<script src="less.js" type="text/javascript"></script>

  特別注意


  A、LESS檔案要在LESS指令碼之前引用

  B、必須在http(s)協議下使用

  C、.less檔案不可以跨域使用(可以通過在服務端設定CORS來解決)


  進階設定


  引入less.js之前通過建立一個全域less對象的方式來指定參數

<script type="text/javascript">    less = {        env: "development", // 或者"production"        async: false,       // 非同步載入匯入的檔案        fileAsync: false,   // 使用檔案協議訪問頁面時非同步載入匯入的檔案        poll: 1000,         // 在監視模式下,每兩次請求之間的時間間隔(ms)        functions: {},      // user functions, keyed by name        dumpLineNumbers: "comments", // 或者"mediaQuery",或者"all"        relativeUrls: false,// 是否調整相對路徑                            // 如果為false,則url已經是相對入口less檔案的                            // entry less file        rootpath: ":/a.com/"// 添加到每個url開始處的路徑    };</script><script src="less.js" type="text/javascript"></script>

  監視模式


  監視模式是一種在用戶端(瀏覽器)使用時的特性,它會在樣式檔案有更新時自動重新整理頁面。

  在URL中加入#!watch並重新整理頁面即可開啟監視模式。你也可以通過在console中運行less.watch()來開啟監視模式。


  修改變數


  使用modifyVars可以在運行時修改LESS變數。當用新的變數值調用了這個函數時,LESS檔案將會被重新編譯,但不會被重新載入。一個基本的用法樣本:

less.modifyVars({    '@buttonFace': 'red',    '@buttonText': '#fff'});

  調試LESS


  我們在產生的CSS中帶上一些額外的資訊,以便一些調試工具可以定位到LESS檔案中的行數。可以通過dumpLineNumbers選項或者在url中添加!dumpLineNumbers:mediaQuery來開啟這個功能。你可以選擇“注釋”方式,使用FireLESS來調,或者選擇“mediaQuery”方式,使用FireBug/Chrome開發人員工具(被識別為SCSS media query調試格式)來調試。


  使用koala本地編譯


  Koala 是一款由國人開發的開源預先處理語言圖形編譯工具,目前已支援 Less、Sass、Compass 與 CoffeeScript。目前支援以下系統:Windows,Mac, 10.7+,Linux: 32bit / 64bit,Ubuntu: 32bit / 64bit;下載可以去百度搜尋“koala下載”進行下載。下面就針對編譯LESS進行介紹。


  使用方法


  1、安裝完成後開啟 Koala,把檔案夾拖入介面或者是在左側加號處選擇檔案夾,此時在介面左邊有檔案夾路徑產生。



  2、同時有 less 檔案將顯示在介面中間,右鍵檔案選擇輸出 CSS 檔案的路徑。



  3、左鍵點擊 less 檔案在右邊則有功能選項欄彈出,下面將介紹功能。





  自動編譯(Just-In-Time 編譯)


  當開啟自動編譯時間,使用編輯器按下 Ctrl+S 儲存時,CSS 文檔會自動更新。如果沒有開啟這個功能,那麼需要使用者在自行點擊"執行編譯"才更新 CSS 文檔。





  編譯選項


  行注釋(line comments):這個功能會在 css 檔案裡對應的 less 編譯出來的 css 代碼上方提供一個注釋。注釋的內容分別說明來自 less 的第幾行開始,同時標明是來自那個 less 檔案。小例子如下


  LESS代碼

@color: #4D926F;.meng {    color: @color;}

  編譯後CSS代碼

/* line 3, a.less */.meng {  color: #4d926f;}

  調試資訊(debug info):這個調試功能是在儲存時自動檢測有無錯誤,注意Just-In-Time 編譯關閉時不會開啟,需要在你執行時才彈出錯誤。所以,建議開啟Just-In-Time 編譯。目前調試功能僅能檢測出一些影響編譯的錯誤:例如沒有帶{}、沒帶分號。這些錯誤,而有沒有使用選取器或者樣式輸入錯誤則不會提示。小例子如下


  LESS代碼

@color: #4D926F;.meng {    color: @color;}

  編譯後CSS代碼

@media -sass-debug-info{filename{font-family:file\:\/\/E\:\/李夢龍-文檔\/LESS\/LESS詳解之koala編譯LESS\/less\/b\.less}line{font-family:\000033}}.meng {  color: #4d926f;}

  嚴格的數學(strict Math)嚴格的單位(strict Units)是Koala 2。0新加的兩個,目前還沒有研究有啥區別編譯出來都是沒有注釋的。小例子如下


  LESS代碼

@width : 2.233323232em;.meng {   width:@width;}

  編譯後CSS代碼

.meng {  width: 2.233323232em;}

  輸出方式(代碼壓縮)


  正常(normal):顧名思義,就是不壓縮。


  LESS代碼

@width : 2.233323232em;.meng {   width:@width;   .leng {width:@width;   }}

  編譯後CSS代碼

.meng {  width: 2.233323232em;}.meng .leng {  width: 2.233323232em;}


  壓縮(compress):顧名思義,就是壓縮。


  LESS代碼

@width : 2.233323232em;.meng {   width:@width;   .leng {width:@width;   }}

  編譯後CSS代碼

.meng{width:2.233323232em}.meng .leng{width:2.233323232em}


  YUI壓縮(YUIcompress):使用 YUI 的壓縮打包工具進行壓縮。


  LESS代碼

@width : 2.233323232em;.meng {   width:@width;   .leng {width:@width;   }}

  編譯後CSS代碼

.meng{width:2.233323232em}.meng .leng{width:2.233323232em}



  LESS詳解之編譯LESS就為大家介紹到這裡了。瞭解了LESS是怎麼編譯的,才能更好的瞭解LESS的文法知識。有了LESS編譯法寶,為我們瞭解LESS做好了堅實的準備。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.