mcpField
S
server-side-rendering

server-side-rendering

github.com/aj-geddes开发375430 次安装35 周前更新
代码仓库

关于 server-side-rendering

server-side-rendering 是用于构建服务器端渲染应用的技能,使用模板和数据生成 HTML。内容包括 Python、Node.js 和 Ruby 框架示例,以及缓存和渲染实践。

主要功能

  1. 01通过模板在服务器端渲染 HTML
  2. 02Flask、Django 和 Express 示例
  3. 03模板继承与过滤器
  4. 04缓存与渲染优化
  5. 05输入验证与清理

适用场景

  1. 01构建注重 SEO 的 Web 应用
  2. 02为传统 Web 应用渲染 HTML
  3. 03创建管理仪表板
  4. 04生成邮件模板

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill server-side-rendering

安装后在 Claude Code 中输入/server-side-rendering确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
caching-and-performance.md
django-template-examples.md
django-templates.md
ejs-template-examples.md
flask-with-jinja2-templates.md
jinja2-template-examples.md
nodejsexpress-with-ejs-templates.md
scripts/
validate-schema.sh
templates/
migration-template.sql

详细介绍

服务端渲染

目录

概述

使用现代模板引擎、视图层和数据驱动的 HTML 生成,构建服务端渲染应用,并在 Python、Node.js 和 Ruby 框架中实现缓存、流式传输和性能优化。

适用场景

  • 构建传统 Web 应用
  • 在服务端渲染 HTML
  • 实现利于 SEO 的应用
  • 创建实时更新的页面
  • 构建管理后台
  • 实现电子邮件模板

快速开始

最小可运行示例:

# app.py
from flask import Flask, render_template, request, jsonify
from datetime import datetime

app = Flask(__name__)

# Custom Jinja2 filters
@app.template_filter('currency')
def format_currency(value):
    return f"${value:.2f}"

@app.template_filter('date_format')
def format_date(date_obj):
    return date_obj.strftime('%Y-%m-%d %H:%M:%S')

@app.context_processor
def inject_globals():
    """Inject global variables into templates"""
    return {
        'app_name': 'My App',
        'current_year': datetime.now().year,
        'support_email': '[email protected]'
    }

# routes.py
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
Flask with Jinja2 Templates使用 Jinja2 模板的 Flask
Jinja2 Template ExamplesJinja2 模板示例
Node.js/Express with EJS Templates使用 EJS 模板的 Node.js/Express
EJS Template ExamplesEJS 模板示例
Caching and Performance缓存与性能
Django Template ExamplesDjango 模板示例
Django TemplatesDjango 模板

最佳实践

✅ 应该做
  • 使用模板继承,避免重复代码
  • 为频繁渲染的页面实现缓存
  • 使用模板过滤器进行格式化
  • 分离视图与模板的职责
  • 验证并清理所有用户输入
  • 使用上下文处理器提供全局变量
  • 实现适当的分页
  • 合理使用条件渲染
  • 缓存开销较大的查询
  • 优化模板渲染
❌ 不应该做
  • 在模板中编写业务逻辑
  • 在模板中使用无界循环
  • 在模板中执行数据库查询
  • 未经清理就信任用户输入
  • 过度嵌套模板继承
  • 使用过长的模板文件
  • 在模板中渲染敏感数据
  • 忽视模板缓存机会
  • 过度使用全局变量
  • 在一个模板中混杂多种职责

评论

支持 Markdown