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。
写下本文做个人记录,也给其他人做个参考。