LESS-Middleware:Node.js 和 LESS 的完美搭配

來源:互聯網
上載者:User

  LESS 是一個編寫 CSS 的很好的方式 ,讓你可以使用變數,嵌套規則,混入以及其它許多有用的功能,它可以協助您更好地組織你的 CSS 代碼。

  最近我一直在研究 Node.js ,並想用  less-middleware 中介軟體,這樣我可以很容易的在我的應用程式中使用 LESS 了。配置好以後,LESS-Middleware 能夠自動處理編譯你的 LESS 代碼為 CSS 代碼。

 var lessMiddleware = require("less-middleware");app.use(lessMiddleware({src: __dirname + "/less",dest: __dirname + "/public/css",prefix: "/css",force: true}));app.use(express.static(__dirname + "/public"));

  在這個例子中,我把來源目錄配置為我的應用程式的根目錄下的 "/less" 目錄,並讓 CSS 輸出到 "/public/css 目錄。此外,你還需要指定 "prefix" 屬性,以匹配跟在 "/public" 後面的目錄,即 "/css" 目錄。

  你還可以指定其它參數,上面指定了 force 參數,讓每次請求的時候重新編譯 LESS 檔案,再結合自動重新整理功能,這樣在開發的時候修改樣式代碼都可以有即時的效果。

  最後在頁面上引用 CSS 檔案就和正常的一樣了:

<link rel="stylesheet", type="text/css", href="css/styles.css">
升級和遷移  

  這邊文章發布的時候,less-middleware 已更新到到 1.0.3 版本,上面的配置是針對 0.1.x 的,下面給大家介紹如果從 0.1.x 遷移到 1.0.x。

  首先,也是重要的變化——來源目錄參數的變化,之前是放在 options 參數裡的,如下:

lessMiddleware({  src: path.join(__dirname, '/public')})

  因為來源目錄是必備參數,所以升級之後作為中介軟體的第一個參數,如下:

lessMiddleware(path.join(__dirname, '/public'))

  第二個變化是中介軟體參數和 LESS 參數分離,這樣參數結構更清晰明了,如下:

lessMiddleware(source, [{options}], [{parserOptions}], [{compilerOptions}])

  options 參數是提供給中介軟體使用的,而後面兩個參數對象不會影響中介軟體,是傳遞給 LESS 解析和編譯器的。

  在這個調整之後,對應參數定義方式也要相應的調整,下面是一些對應的修改:

  • compress: 從 options 移除,需要在 compilerOptions 中定義;
  • dumpLineNumbers: 從 options 移除,需要再 parserOptions 中定義;
  • optimization: 從 options 移除,需要再 parserOptions 中定義;
  • paths: 從 options 移除,需要再 parserOptions 中定義;
  • preprocessor: 已經被移動到 preprocessor.less 中進行定義;
  • relativeUrls: 從 options 移除,需要再 parserOptions 中定義;
  • sourceMap: 從 options 移除,需要在 compilerOptions 中定義;
  • yuicompress: 從 options 移除,需要在 compilerOptions 中定義;

  第三個變化是新增加了參數同時移除了 prefix 和 treeFunctions 參數,讓你可以更靈活的進行配置,如下:

  • postprocess.css: 在被儲存之前,修改 CSS 編譯輸出;
  • preprocess.less: 在 LESS 被解析和編譯前進行修改;
  • preprocess.path: 在被檔案系統載入前,修改 LESS 路徑;

  有了這幾個參數,我們之前使用 prefix 實現的功能可以用下面的方式達到同樣的效果:

preprocess: {  path: function(pathname, req) {    return pathname.replace(/^\/less\//, '/css');  }}

  更詳細的資訊,可以參考 less-middleware 官方文檔。

 

您可能感興趣的相關文章
  • 創意無限!一組網頁側邊欄過渡動畫【附源碼下載】
  • 真是好東西!13種非常動感的頁面載入動畫效果
  • 你見過嗎?9款超炫的複選框(Checkbox)效果
  • 超贊!基於 Bootstrap 的響應式的後台系統管理範本
  • 太贊了!超炫的頁面切換動畫效果【附源碼下載】

 

本文連結:LESS-Middleware:Node.js 和 LESS 的完美搭配

編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源

本文出處【http://www.cnblogs.com/lhb25/】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.