【Node】使用Node.js构建简单的静态页面生成器




// 引入必要的模块
const fs = require('fs');
const path = require('path');
const ejs = require('ejs');
 
// 设置模板文件夹和输出文件夹
const templatesDir = path.join(__dirname, 'templates');
const outputDir = path.join(__dirname, 'output');
 
// 创建输出文件夹,如果不存在的话
if (!fs.existsSync(outputDir)) {
  fs.mkdirSync(outputDir);
}
 
// 定义页面数据
const pagesData = [
  {
    url: 'about',
    title: '关于我们',
    content: '这是关于我们页面的内容。'
  },
  {
    url: 'contact',
    title: '联系我们',
    content: '这是联系我们页面的内容。'
  }
  // 添加更多页面数据
];
 
// 为每个页面生成静态页面
pagesData.forEach(page => {
  // 读取模板文件
  const templateFile = path.join(templatesDir, `${page.url}.ejs`);
  const templateContent = fs.readFileSync(templateFile, 'utf-8');
 
  // 渲染EJS模板
  const renderedContent = ejs.render(templateContent, {
    pageTitle: page.title,
    content: page.content
  });
 
  // 写入输出文件
  const outputFile = path.join(outputDir, `${page.url}.html`);
  fs.writeFileSync(outputFile, renderedContent);
});
 
console.log('静态页面生成完毕。');

这段代码使用Node.js和EJS模板引擎来为每个页面数据生成静态HTML页面。它首先定义了模板文件夹和输出文件夹,然后创建输出文件夹(如果不存在)。接着,它遍历页面数据数组,读取对应的EJS模板文件,使用数据渲染模板,并将结果写入输出文件夹中。最后,它在控制台输出一条完成信息。这是一个简单的静态页面生成器示例。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日