在日常开发中,我们常常需要根据某个模板生成多个相似的文件。例如,批量生成不同学号的学生试卷、自动创建项目结构、填充配置文件等。
本文将通过一个实际案例,教你如何使用 Node.js 编写一个简单的脚本,实现从模板文件中读取内容,并动态替换其中的变量,最终生成新的文件。
🧩 场景描述 假设你有一个文本模板文件 template.txt,内容如下:
深色版本 学号:{{学号}} 姓名:{{姓名}} 考试成绩:{{成绩}} 你需要为每个学生生成一份独立的成绩单文件,比如:
深色版本 学号:20250612 姓名:张三 考试成绩:90 这就需要编写一个自动化脚本来完成这个重复性工作。
🛠️ 技术实现 我们将使用 Node.js 中的内置模块 fs 来操作文件,并封装一个 keyword 函数来处理变量替换逻辑。
✅ 步骤 1:安装 Node.js 环境(略) 请确保你的电脑上已安装 Node.js。可以通过命令行验证:
Bash 深色版本 node -v npm -v ✅ 步骤 2:创建项目目录结构 深色版本 project/ ├── template.txt // 模板文件 ├── 考试.js // 主程序脚本 └── output/ // 生成文件存放目录 ✅ 步骤 3:编写主程序 考试.js Js 深色版本 const fs = require('fs'); const path = require('path');
// 定义关键字替换函数
function keyword(templateFile, outputFile, data) {
let content = fs.readFileSync(templateFile, 'utf8');
Object.keys(data).forEach(key => {
const regex = new RegExp(\\{\\{${key}\\}\\}, 'g');
content = content.replace(regex, data[key]);
});
fs.writeFileSync(outputFile, content);
}
// 示例数据 const 学生信息 = { 学号: '20250612', 姓名: '张三', 成绩: '90' };
// 文件路径 const 模版文件 = 'template.txt'; const 生成文件 = path.join('output', '成绩单_20250612.txt');
// 执行替换 keyword(模版文件, 生成文件, 学生信息);
console.log(✅ 已生成文件:${生成文件});
✅ 步骤 4:运行脚本
在终端中执行:
Bash 深色版本 node 考试.js 你会在 output/ 目录下看到生成的新文件:
深色版本 成绩单_20250612.txt 内容为:
深色版本 学号:20250612 姓名:张三 考试成绩:90 🔁 进阶用法 📁 批量生成多个文件 你可以结合数组和循环,批量生成多个学生的成绩单:
Js 深色版本 const students = [ { 学号: '20250612', 姓名: '张三', 成绩: '90' }, { 学号: '20250613', 姓名: '李四', 成绩: '85' }, { 学号: '20250614', 姓名: '王五', 成绩: '88' } ];
students.forEach(stu => {
const filename = 成绩单_${stu.学号}.txt;
const filepath = path.join('output', filename);
keyword(模版文件, filepath, stu);
});
💡 小贴士
模板语法可以根据需要自定义,比如 {{name}} 或者 [name]。
可以结合 JSON 文件或数据库读取数据,实现更复杂的自动化流程。
如果你正在做微信小程序开发,也可以用类似方式生成页面骨架代码。
📚 总结
通过这篇文章,我们学习了如何使用 Node.js 实现一个简单的自动化替换脚本,帮助我们快速生成基于模板的内容文件。这种技术不仅适用于学生成绩单的生成,还可以广泛用于:
自动生成项目结构 批量创建配置文件 微信小程序页面初始化 自动化测试数据准备 希望你能将这一技能应用到自己的项目中,提升开发效率!