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。
寫下本文做個人記錄,也給其他人做個參考。