npm通过github url来安装私有库

背景

有时候我们想要安装的node Package是来自我们自己开发的二方包,但是对于个人开发者来说,也许我们没有私有的npm registry。这时我们可以通过自己私库的github url来用npm安装二方包。

方法

请注意,通过github url安装的前提是project里有package.json。

  1. 通过npm cli安装github public project
javascript 复制代码
npm i https://github.com/user_name/node_project_name

也可以通过如下方式安装具体的某个commit:

shell 复制代码
npm install use_name/node_project#commit

安装branch:

shell 复制代码
npm install use_name/node_project#branchName

通过tag或者version来安装

shell 复制代码
npm install use_name/node_project@tag #user_name/node_project@release
npm install use_name/node_project@version #user_name/node_project@1.0.0
  1. 安装私库
    私库的安装需要使用git的ssh repo link:
shell 复制代码
npm install git+ssh://git@github.com:user_name/node_project.git

二方包导出

Node.js 支持 用于在 package.json 中定义入口点的新字段,称为 "exports"。该字段是在 package.json 中定义 "main" 的更强大的替代方法,并且可以控制您的包的哪些部分暴露给引用者。

这是一个支持 CommonJS 和 ESM 的单独入口点的 package.json:

Here's an package.json that supports separate entry-points for CommonJS and ESM:

javascript 复制代码
// package.json
{
    "name": "my-package",
    "type": "module",
    "exports": {
        ".": {
            // Entry-point for `import "my-package"` in ESM
            "import": "./esm/index.js",

            // Entry-point for `require("my-package") in CJS
            "require": "./commonjs/index.cjs",
        },
    },

    // CJS fall-back for older versions of Node.js
    "main": "./commonjs/index.cjs",
}
相关推荐
柒和远方12 分钟前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙68714 分钟前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端
GuWenyue21 分钟前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
FPGA验证小袁24 分钟前
EMIF BFM设计与实现:把复杂时序装进“一键读写”的黑盒
github
柒和远方26 分钟前
Phase 7.3 复盘:后台任务不只是“扔进队列”,还要能被看见
前端·后端·架构
2501_9437823530 分钟前
【共创季稿事节】 倒计时器:时分秒选择器与定时器的协同工作
前端·华为·harmonyos·鸿蒙·鸿蒙系统
奶油mm37 分钟前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js
用户9385156350738 分钟前
深入理解 JavaScript 中的 this 与数据存储的奥秘
前端·javascript
JNX_SEMI1 小时前
AT2659 L1频段多模卫星导航低噪声放大器技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
Profile排查笔记3 小时前
指纹浏览器环境异常排查:Fingerprint、Profile、Proxy、Session 和 Task Log 怎么看
前端·人工智能·后端·自动化