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

如何以生产环境方式将本地包作为npm依赖项引入?

本地开发npm包时,让示例项目以生产环境方式依赖的解决方案

核心思路

不用npm link,而是通过本地打包tar包+文件依赖的方式,让示例项目安装的主包完全符合package.json中files字段定义的生产环境文件结构,同时配置可提交到git,克隆后直接运行。

具体步骤

1. 配置主包my-package

  • 确保package.json的files字段准确列出生产所需文件,比如:
    {
      "files": ["dist/", "README.md", "package.json"]
    }
    
  • 添加prepare脚本,自动构建并生成符合规范的tar包:
    {
      "scripts": {
        "build": "你的构建命令(比如tsc、rollup等)",
        "prepare": "npm run build && npm pack"
      }
    }
    
    prepare脚本会在每次执行npm install时自动触发,先构建生产代码,再用npm pack生成只包含files列表文件的tar包(比如my-package-1.0.0.tgz)。

2. 配置示例项目example

  • 在example/package.json中,将my-package的依赖指向本地生成的tar包:
    {
      "dependencies": {
        "my-package": "file:../my-package-1.0.0.tgz"
      }
    }
    
    注意替换版本号为你主包的实际版本。

3. 提交必要文件到git

  • 将主包生成的my-package-*.tgz添加到git仓库(不要加入.gitignore)
  • 将example/node_modules加入.gitignore,避免提交依赖目录

使用方式

克隆仓库后,直接进入example目录执行npm install,此时安装的my-package会完全模拟生产环境的文件结构——仅包含files列表中的内容,不会出现npm link带来的符号链接问题,也能提前验证files配置是否正确。

版本更新注意事项

当主包版本号变更时,需要:

  • 更新my-package/package.json中的version字段
  • 重新执行npm run prepare生成新的tar包
  • 更新example/package.json中的依赖路径为新的tar包文件名
  • 提交更新后的文件到git

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:57:31