You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在package.json中编写脚本动态创建项目文件夹与子文件?

实现动态生成文件夹和文件的脚本方案

步骤1:创建Node.js脚本文件

在项目根目录新建generate-module.js文件,内容如下:

const fs = require('fs');
const path = require('path');

// 获取命令行传入的模块名称
const moduleName = process.argv[2];

if (!moduleName) {
  console.error('请传入模块名称,例如:npm run generate user');
  process.exit(1);
}

// 定义目标路径
const targetDir = path.join(__dirname, 'src', moduleName);
const serviceFile = path.join(targetDir, `${moduleName}.service.js`);

// 递归创建文件夹(自动处理父目录不存在的情况)
fs.mkdir(targetDir, { recursive: true }, (err) => {
  if (err) {
    console.error('创建文件夹失败:', err);
    return;
  }

  // 生成service文件的初始内容,可按需修改
  const initialContent = `// ${moduleName} 服务模块
class ${moduleName.charAt(0).toUpperCase() + moduleName.slice(1)}Service {
  // 示例方法
  get${moduleName.charAt(0).toUpperCase() + moduleName.slice(1)}List() {
    // 业务逻辑实现
  }
}

module.exports = ${moduleName.charAt(0).toUpperCase() + moduleName.slice(1)}Service;
`;

  fs.writeFile(serviceFile, initialContent, (err) => {
    if (err) {
      console.error('创建文件失败:', err);
      return;
    }
    console.log(`模块 ${moduleName} 已成功生成:${targetDir}`);
  });
});

步骤2:在package.json中配置脚本

打开项目根目录的package.json,在scripts字段中添加以下内容:

{
  "scripts": {
    "generate": "node generate-module.js"
  }
}

步骤3:运行脚本生成模块

在终端执行命令(将user替换为你需要的模块名称):

npm run generate user
# 或使用yarn
yarn generate user

扩展说明

  • 若需要生成更多类型文件(如controller、model),可在脚本中新增fs.writeFile逻辑,添加对应文件路径和初始代码。
  • 脚本中的初始内容可根据项目规范调整,比如换成ES模块的export default语法。
  • fs.mkdir的recursive: true参数确保src目录不存在时也会自动创建。

内容的提问来源于stack exchange,提问作者Ankit Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:57:41