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

如何制作类似nodemon的命令行式NPM工具包?

制作可直接命令行调用的npm包步骤

1. 初始化项目

执行npm init,填写项目信息时重点配置以下关键字段:

  • name:确认包名在npm上未被占用
  • bin:指定命令名与可执行脚本的映射,示例:
    "bin": {
      "merge-files": "./index.js"
    }
    

这里merge-files是用户最终将使用的命令,./index.js是你的核心脚本文件路径。

2. 编写可执行核心脚本

在指定的脚本文件(如index.js)开头必须添加Shebang行,让系统识别用Node.js执行:

#!/usr/bin/env node

// 在这里编写你的文件合并逻辑,示例:
const fs = require('fs');
const path = require('path');

// 合并src目录下所有js文件到dist/bundle.js
const srcDir = path.join(process.cwd(), 'src');
const outputPath = path.join(process.cwd(), 'dist', 'bundle.js');

// 先清空目标文件
fs.writeFileSync(outputPath, '');

fs.readdirSync(srcDir)
  .filter(file => file.endsWith('.js'))
  .forEach(file => {
    const content = fs.readFileSync(path.join(srcDir, file), 'utf8');
    fs.appendFileSync(outputPath, content + '\n');
  });

console.log('文件合并完成');

3. 本地测试

在项目目录执行npm link,将你的命令链接到全局环境,之后直接在终端输入merge-files即可测试功能是否正常。

4. 发布到npm

  • 先通过npm login登录你的npm账号(无账号需先注册)
  • 执行npm publish完成发布

5. 用户使用方式

用户安装包后(全局安装npm install -g merge-files或本地安装npm install merge-files --save-dev),在自身项目的package.json中配置scripts:

"scripts": {
  "start": "merge-files && node server"
}

用户执行npm start时,会先运行你的文件合并命令,再启动服务器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:40:27