Vue 中使用 Pug

1 介绍
pug 是一种前端模板引擎,原名 jade

可用来生成 HTML,它的写法类似于 CSS

这里先简单举几个例子

#hello
<div id="hello"></div>

a.link-button Link
<a class="link-button">Link</a>

易理解,同时极大的简约了我们的代码。

2 安装
2.1 下载

npm i -D pug pug-html-loader pug-plain-loader
或者
yarn add pug pug-html-loader pug-plain-loader

2.2 配置
// vue.config.js

module.exports = {
    chainWebpack: config => {
      config.module.rule('pug')
        .test(/\.pug$/)
        .use('pug-html-loader')
        .loader('pug-html-loader')
        .end()
  }
}

2.3 使用,注意要加 lang=“pug”

<template lang="pug">
    div.hello
        h1 Hello World
</template>

3 实践
下面将拿出实际项目中的一些代码进行改造

原代码

<template>
    <div class="gallery">
        <div class="btn-group">
            <span>选择相册:</span>
            <Select v-model="cataId" style="width:200px">
                <Option v-for="item in catalogs" :value="item.id" :key="item.id" clearable>{{ item.name }}</Option>
            </Select>
            <Button type="info">上传照片</Button>
        </div>
        <vue-waterfall-easy :imgsArr="imgsArr" @scrollReachBottom="loadMore" ref="waterfall"></vue-waterfall-easy>
    </div>
</template>

改造后 12行代码变成9行,标签完全简化

<template lang="pug">
    .gallery
        .btn-group
            span 选择相册:
            Select(v-model="cataId" style="width:200px")
                Option(v-for="item in catalogs" :value="item.id" :key="item.id" clearable) {{ item.name }}
            Button(type="info") 上传照片
        vue-waterfall-easy(:imgsArr="imgsArr" @scrollReachBottom="loadMore" ref="waterfall")
</template>
GitHub 加速计划 / vu / vue
207.55 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 5 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐