npm link的作用与使用

2023-11-05

1、npm link 使用场景

库包在开发或迭代后,不适合发布到线上进行调试(过程繁琐且会导致版本号膨胀),这个时候就可以通过npm link将包放入到node安装目录下的node_modules文件夹中,这样就可以直接使用包名直接在本地调试了

2、npm link工作原理

npm link`可以帮助我们模拟包安装后的状态,它会在系统中做一个快捷方式映射,让本地的包就好像 install 过一样,可以直接使用。

3.、Npm link的使用

同一目录下的使用

// 进入应用文件夹
$ cd xxx/project_npmlink/project1
// 软链接
$ npm link ../module1
npm link 操作会在项目的 node_modules 目录下创建一个 module1的超链接(类似 Windows 的快捷方式),链接到 project_npmlink/module1。 

生成的虚拟包名会根据module1的package.json进行指定。

不同目录下使用:

项目和模块不在同一个目录下,需要先把模块链接到全局,然后再在项目中链接模块

$ cd xxx/project_npmlink/module1
$ npm link
> npm link 操作会在全局 node_modules 目录下创建一个 module-name 的超链接。
// 再去项目目录
$ cd xxx/project_npmlink/project1
// 通过包名建立链接
$ npm link module1

此时只需要指定 module-name,在项目的 node_modules 目录下创建一个 module-name 的超链接,链接到 /usr/local/lib/node_modules/module-name,然后再由全局目录下的超链接,链接到具体的代码目录下。

4、删除npm link的链接

解除项目和模块的链接

// 进入项目目录,解除链接
$ cd xxx/project_npmlink/project1
$ npm unlink module1

解除模块的全局链接

// 进入项目目录,解除链接
$ cd xxx/project_npmlink/module1
$ npm unlink module1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm link的作用与使用 的相关文章

随机推荐

  • Dos环境变量修改

    批处理修改环境变量 修改用户变量 系统变量 全局变量 永久 临时设置环境变量 设置Java环境变量 关于路径问题 在执行批处理命令时 需要用到路径变量 这里先说明路径相关的变量参数 echo 当前盘符 d0 echo 当前盘符和路径 dp0
  • 6.830 / 6.814: Syllabus 2021 - MIT Lab 2 - SimpleDB Operators

    文章目录 1 参考链接 2 SimpleDB Architecture and Implementation Guide 2 1Filter and Join 2 2 Aggregates 2 3HeapFile Mutability 2
  • 在你的 Android 手机上运行 Golang 程序

    在我们日常开发中 运行一个服务 都是在 shell 或 cmd 下执行命令 像是使用 go run main go 直接编译运行 或是 go build 编译生成可执行文件后 以 xxx 方式运行 Go 支持交叉编译生成各平台的可执行文件
  • Linux中makefile

    第一个版本的makefile Makefile的依赖是从上至下的 换句话说就是目标文件是第一句里的目标 如果不满足执行依赖 就会继续向下执行 如果满足了生成目标的依赖 就不会再继续向下执行了 Make会自动寻找依赖条件所用到的文件 其中 我
  • 2018-12-22-jekyll-theme-H2O

    layout post title jekyll主题theme H2O categories jekyll GitHub tags jekyll GitHub theme H2O jekyll theme H2O 基于Jekyll的博客主题
  • Django基础入门⑩:Django查询数据库操作详讲

    Django基础入门 Django查询数据库操作详讲 Django查询数据库操作 基础操作 查询数据 比较运算符 逻辑符号 去重查询 分组集合 排序查询 分页操作 模糊查询 多表查询 执行原生 SQL 个人简介 以山河作礼 Python领域
  • 【数据结构】数组

    1 计算一维数组存储地址 a i 公式 a i L a 起始地址 i 当前i个元素下标 L 每个元素所占字节 例 int a 10 已知a 1000 sizeof int 4 求a 3 地址 1000 3 4 1012 2 计算二维数组存储
  • SQL注入之时间盲注 和 报错注入(sql-lab第一关为例)

    什么是时间盲注 时间盲注指通过页面执行的时间来判断数据内容的注入方式 通常用于数据 包含逻辑型 不能返回到页面中的场景 无法利用页面回显判断数据内容 只能通过执行的时间来获取数据 时间盲注的过程 1 找到注入点 并选择合适的注入语句 2 爆
  • hexo搭建博客-butterfly主题详细版

    Hexo搭建博客 butterfly主题 前置知识 对于Github和Gitee的基本了解与使用 最关键的是你要知道github为什么访问的这么慢 如何魔法上网访问github 或者说不用魔法如何访问github 本文在可能遇到的问题说明了
  • c语言用串口读温度值,温度传感器与串口

    1 题目要求 有时候我们需要知道在一段时间里温度传感器测量的温度的历史数据 之前的温度传感器例程只是在液晶屏上实时显示出数据而已 并不能查看它的历史数据 所以我们运用之前所有学过的知识来完成这个任务 首先我们先从简单的理念入手 利用串口每隔
  • 数学推导+纯Python实现机器学习算法12:贝叶斯网络

    Python机器学习算法实现 Author louwill 在上一讲中 我们讲到了经典的朴素贝叶斯算法 朴素贝叶斯的一大特点
  • 计算机图形技术在游戏领域应用,计算机图形图像技术在美术领域中的应用

    摘 要 现如今科学技术日益发展的时代 图像的发展已经不能够满足人类的需求 它不只是表現人们视野中的影像 通过各个领域的先进的专业的软件和技术 能够更加成功的表现出来 计算机图形图像技术已经不断的实践在各个领域 下文是对其主要应用的分析研究
  • java iterable 使用_Iterable(迭代器)的用法

    一 前言 在开发中 经常使用的还是for each循环来遍历来Collection 不经常使用Iterable 迭代器 的 下面记录一下terable是一般用法 二 说明 迭代器是一种设计模式 它是一个对象 它可以遍历并选择序列中的对象 而
  • U盘提示格式化怎么办?3个方法轻松解决!

    我的u盘已经很久没用了 今天刚把u盘插入电脑就显示需要进行格式化 但是我还有很多重要的文件都保存在里面呢 这可怎么办呀 有什么方法恢复里面的数据吗 u盘是我们日常生活中常用的移动存储设备之一 但有时可能会遇到一个让人烦恼的问题 那就是当插入
  • TypeScript基础小课堂二

    上期简单的介绍了一下TS的安装和运行环境 现在正式进入知识点阶段 1 TS类型注解 TypeScript 是 JS 的超集 TS 提供了 JS 的所有功能 并且额外的增加了 类型系统 TS中定义变量 常量 可以指定类型 A类型的变量不能保存
  • Mysql Too many connections

    程序启动过程中 连接mysql异常 信息如下 Caused by com mysql cj exceptions CJException Data source rejected establishment of connection me
  • Android 开发简易失物招领二手交易平台

    一 开发环境 1 android studio 客户端 eclipes 服务端 2 java语言 二 效果展示 视频地址 https www bilibili com video BV1Ng4y1v7XC 三 客户端开发 1 首先设置mai
  • 交换机与路由器技术-37-端口安全

    目录 一 端口安全 1 1 课程引入 1 2 基本概念 1 3 作用 1 4交换机端口安全配置 1 4 1 配置最大活跃地址数量 1 4 2 配置静态MAC地址和接口绑定 1 4 3配置接口老化时间 1 4 4 配置MAC地址违规后的操作
  • 什么是微服务架构,有何优缺点?

    什么是微服务架构 通常而言 微服务架构是一种架构模式或者说是一种架构风格 它提倡将单一应用程序划分成一组小的服务 每个服务运行独立的自己的进程中 服务之间互相协调 互相配合 为用户提供最终价值 服务之间采用轻量级的通信机制互相沟通 通常是基
  • npm link的作用与使用

    1 npm link 使用场景 库包在开发或迭代后 不适合发布到线上进行调试 过程繁琐且会导致版本号膨胀 这个时候就可以通过npm link将包放入到node的安装目录下的node modules文件夹中 这样就可以直接使用包名直接在本地调