簡體   English   中英

使用CakePHP HTML Helper編譯.less客戶端

[英]Using CakePHP HTML Helper to compile .less client-side

場景:我在Cake App上使用Less CSS進行開發,並且我希望按照文檔中推薦的方式在客戶端編譯較少的文件(我也在與其他幾個程序員一起在git repo上,所以我想要它們編輯較少的文件而不是css…在重新編譯時會被覆蓋):

  <head> 
    . . .
    <link rel="stylesheet/less" type="text/css" href="styles.less">
    <script src="less.js" type="text/javascript"></script>
    . . .
  </head>

問題:我將較少的文件存儲在webroot/css/lib ,將less.js文件存儲在webroot/js/vendors並且我想使用HTML幫助程序來構建link / script標簽:

<?php echo $this -> Html -> css('lib/style.less'); ?>
<?php echo $this -> Html -> script('vendors/less-1.2.1.min.js');?>

加載less.js沒問題。 問題在於,使用css幫助器時,Cake在路徑的末尾附加了“ .css”。

解決方案: … ?

html幫助程序將檢查是否存在“?” 在文件名中..如果沒有,它將在末尾添加“ .css”:

餅/庫/視圖/助手/ html.php( LN。356

if (strpos($path, '?') === false) {
    if (substr($path, -4) !== '.css') {
    $path .= '.css';
    }
}

也許您可以使用以下方法欺騙助手:

<?php echo $this -> Html -> css('lib/style.less?'); ?>

但我不確定是否能正常工作...您可能必須手動編寫標記= P

干杯

另一個非常簡單的解決方案是在沒有幫助程序的情況下包括.less文件:)我認為這對您的項目沒有太大影響。

也許您喜歡這個插件: https : //github.com/BradCrumb/lesscompiler

它是一個自動將較少的文件編譯為CSS文件的組件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM