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

如何为同一NPM包生成含指定目录的调试版与精简版?

同一NPM包发布正式版与调试版的实现方案

你可以通过以下两种实用方案,实现同一Git仓库发布两个版本(含/不含FolderToHide目录):

方案一:利用npm标签(Tag)区分版本

这种方式无需拆分包名,通过不同标签标记正式版和调试版,适合不想维护多个包的场景。

操作步骤:

  1. 准备两份.npmignore配置

    • 正式版配置(命名为.npmignore或.npmignore-default):明确排除FolderToHide
      FolderToHide/
      
    • 调试版配置(命名为.npmignore-debug):不排除FolderToHide(仅保留必要的忽略规则,比如日志、临时文件)
      # 仅排除非核心文件,不要添加FolderToHide/
      *.log
      temp/
      
  2. 在package.json中添加发布脚本
    用脚本自动切换配置并恢复,避免手动操作出错:

    {
      "name": "myRepo",
      "repository": {
        "type": "git",
        "url": "https://somewhere"
      },
      "scripts": {
        "publish:debug": "cp .npmignore-debug .npmignore && npm publish --tag debug && cp .npmignore-default .npmignore",
        "publish": "npm publish"
      }
    }
    

    提示:如果默认的.npmignore就是正式版配置,可先备份为.npmignore-default再执行脚本。

  3. 发布与安装

    • 发布正式版:执行npm run publish(默认打latest标签)
    • 发布调试版:执行npm run publish:debug(打debug标签)
    • 用户安装:
      • 正式版:npm install myRepo
      • 调试版:npm install myRepo@debug

注意事项:

  • 建议给调试版使用预发布版本号(比如1.0.0-debug.1),避免和正式版版本号混淆,npm会自动识别这类预发布版本。
  • 脚本最后一定要恢复原.npmignore,防止本地提交错误的忽略规则。

方案二:使用包名后缀区分(双包发布)

这种方式更直观,通过不同包名(比如myRepo和myRepo-debug)分别发布,适合需要明确区分包身份的场景。

操作步骤:

  1. 复制并修改package.json
    复制原package.json为package-debug.json,修改name字段为myRepo-debug,同时调整.npmignore为调试版配置(不排除FolderToHide)。

  2. 添加发布脚本
    在原package.json中添加快速发布脚本:

    {
      "name": "myRepo",
      "scripts": {
        "publish:debug": "cp package-debug.json package.json && npm publish && cp package-original.json package.json",
        "publish": "npm publish"
      }
    }
    

    提示:提前把原package.json备份为package-original.json,防止发布后丢失配置。

  3. 发布与安装

    • 发布正式版:执行npm run publish
    • 发布调试版:执行npm run publish:debug
    • 用户安装:
      • 正式版:npm install myRepo
      • 调试版:npm install myRepo-debug

注意事项:

  • 两个包可以共享同一Git仓库,npm允许同一仓库发布不同包名的包。
  • 可以在package-debug.json中添加description字段(比如"description": "myRepo的调试版本,包含FolderToHide目录"),方便用户识别。

内容的提问来源于stack exchange,提问作者A.Pissicat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 20:37:51