
摘要:
.hbs 文件是 Handlebars 模板引擎的模板文件,本质是带动态占位符的文本文件,常用于 Node.js、Ember.js 等场景生成动态 HTML
一、基本含义
全称:Handlebars Template
后缀:.hbs(简写)或 .handlebars(完整)
本质:文本文件,内容 = HTML + Handlebars 动态语法
二、核心语法(双大括号)
bash
<!-- 变量插值 -->
<h1>{{ title }}</h1>
<p>{{ content }}</p>
<!-- 循环 -->
{{#each items}}
<div>{{ this.name }}</div>
{{/each}}
<!-- 条件 -->
{{#if isLogin}}
<a href="/logout">退出</a>
{{else}}
<a href="/login">登录</a>
{{/if}}
<!-- 子模板/组件 -->
{{> header }}
{{ 变量 }}:输出转义内容
{{{ 变量 }}}:输出原始 HTML(不转义)
三、你在哪里会遇到 .hbs
Node.js 后端(Express)
做服务端渲染(SSR)时常用
视图目录:views/xxx.hbs
前端框架
Ember.js 默认模板
旧版 Vue/React 项目也可能混用
静态站点生成器
Ghost、Assemble 等用 .hbs 做主题模板
四、怎么打开 / 编辑
用 VS Code、WebStorm、Sublime 直接打开
VS Code 安装插件:Handlebars 或 Mustache 即可高亮语法
五、和你项目的关系
你之前的错误日志出现:
bash
...\client\index.js?http://localhost:9527
如果项目里有 .hbs,说明:
用了 Handlebars 模板引擎
可能是 Express + 服务端渲染 架构
或老版本前端脚手架
六、简要总结
.hbs = 动态 HTML 模板
用 {{ }} 插入数据、循环、条件
常见于 Node.js/Express/Ember 项目------------------------------------------------------------------------------------------------------------------------------------------------------------
前端项目使用 .hbs 完整教程(最简单、最实用)
我直接给你前端项目(Vue/Webpack)通用方案,不用后端,纯前端就能用 .hbs 模板渲染页面。
一、.hbs 是什么(一句话)
.hbs = Handlebars 模板,前端用来动态生成 HTML 的模板文件,语法是 {{ 变量 }}。
二、前端项目使用 .hbs 最快步骤(3 分钟搞定)
- 安装依赖
bash
npm install handlebars --save
- 创建一个 .hbs 模板文件
在项目里新建:/templates/test.hbs
bash
<div class="box">
<h1>{{ title }}</h1>
<p>{{ content }}</p>
{{#if isShow}}
<button>{{ btnText }}</button>
{{/if}}
<ul>
{{#each list}}
<li>{{ this }}</li>
{{/each}}
</ul>
</div>
三、在 JS 中引入并渲染
bash
import Handlebars from 'handlebars'
import testTemplate from './templates/test.hbs?raw' // ?raw 表示按文本导入
// 编译模板
const template = Handlebars.compile(testTemplate)
// 准备数据
const data = {
title: '我是标题',
content: '前端使用 .hbs 模板成功啦',
isShow: true,
btnText: '点击我',
list: ['苹果', '香蕉', '橙子']
}
// 渲染成 HTML
const html = template(data)
// 插入页面
document.getElementById('app').innerHTML = html
四、如果是 Webpack 项目(自动识别 .hbs)
安装 loader:
bash
npm install handlebars-loader --save-dev
然后就能直接:
bash
import testTemplate from './test.hbs'
五、常用 .hbs 语法(前端必用)
bash
<!-- 输出变量 -->
{{ name }}
<!-- 不转义输出 HTML -->
{{{ htmlContent }}}
<!-- 判断 -->
{{#if isLogin}}
已登录
{{else}}
请登录
{{/if}}
<!-- 循环 -->
{{#each list}}
第{{@index}}项:{{ this }}
{{/each}}
<!-- 引入子模板 -->
{{> header }}
六、你项目里为什么会有 .hbs?
你的项目是 老版 Vue + Webpack,很多老项目用 .hbs 做
- 公共头部模板
- 弹窗模板
- 列表渲染模板
- 静态页面生成
不是必须用,但老项目很常见。
最简单总结
- .hbs = 前端模板文件
- 用 {{ 变量 }} 渲染动态内容
- 前端直接用 handlebars 库就能跑
- 不用后端,纯前端就能用