vue 使用Jade模板寫html,stylus寫css

Taoqun發表於2018-02-22

vue 使用Jade模板寫html,stylus寫css

日常工作都是使用vue開發頁面和webApp,寫的多了就想偷懶簡化各種書寫方式,所以使用了jade寫html,stylus寫css,省了很多的步驟和提高了效率。

安裝包
// 安裝jade包
npm install jade jade-loader --save-dev
// 如果使用vue-cli構建專案,則不需要安裝stylus相關的包,vue-cli預設已安裝
npm install stylus stylus-loader --save-dev
配置檔案
// webpack.base.conf.js 配置
// jade
{
    test : /.jade$/,
    loader : `jade-loader`,
}
// stylus 如果使用vue-cli構建,無需配置此項
{
    test : /.styl$/,
    loader : `stylus-loader`,
}
jade使用前後對比
// html 模板
<template>
    <div class=`demo-components`>
        <h2>測試標題</h2>
        <p>
            <span class=`text`>這是一條測試的demo文字</span>
            <i class=`icon`></i>
        </p>
        <input v-model=`value1` @keydown.enter=`loginIn`>
        <p>{{ oneText + "-" + "twoText" }}</p>
    </div>
</template>
// jade 模板
<template lang=`jade`>
    div.demo-components
        h2 測試標題
        p
            span.text 這是一條測試的demo文字
            i.icon
        input(v-model=`value1`,@keydown.enter=`loginIn`)
        p {{ oneText + "-" + twoText }}
</template>
使用Jade注意事項
  • 需要簡單瞭解jade基本使用語法(10分鐘簡單瞭解即可)
  • template 需要加上lang=`jade`屬性
  • 標籤內文字換行會解析錯誤,需要使用其他技巧性方法解決。例:
<template lang=`jade`>
    div
        p 我是測試文字哇,可是文字太長需要換行啊,我恰巧回車試一
          下啊,啊呀,報錯啦!!
</template>
// 可以寫進一個變數裡、或方法中返回資料、或保持一行不換行
stylus 前後對比
<style lang=`css`> // css less sass scss 樣式demo此處省略 

// stylus demo
<style lang=`stylus`>
    .main-body
        width 300px
        heihgt 200px
        background-color rgba(0,0,0,1)
        .main-model
            width 50px
            height 50px
            margin 20px auto
</style>
  • stylus 可以使用極簡的方式寫css,也可以格式混合(為了保持格式統一,不建議),將解析的任務交給webpack去做,我們只需要書寫簡單易讀的程式碼即可。這是我喜歡的風格和方式,sass當然也可以做到,只是個人的機緣巧合現在使用了stylus。

寫下本文做個人記錄,也給其他人做個參考。

相關文章