vue 使用Jade模板写html,stylus写css
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。
写下本文做个人记录,也给其他人做个参考。