【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模板文件,使用数据渲染模板,并将结果写入输出文件夹中。最后,它在控制台输出一条完成信息。这是一个简单的静态页面生成器示例。
评论已关闭