热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

npm包本地调试方法

npm包开发时,我们不可能每次都执行发布后再进行测试,那我们怎么进行本地调试呢?本文假如要安装的包为my-test-0807,包源文件地址为D:\my-test-0807一、直接安

npm包开发时,我们不可能每次都执行发布后再进行测试,那我们怎么进行本地调试呢?

本文假如要安装的包为 my-test-0807,包源文件地址为 D:\my-test-0807


一、直接安装本地的包

npm install D:\my-test-0807

安装完成后,可以在 node_modules 文件夹中看到 my-test-0807 文件夹,然后我们还可以看到文件名的最右边会有个箭头,这个箭头表示这是一个符号链接,符号链接也称为软链接,类似于windows系统中的快捷方式,它是一种特殊的文件,其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。

我们在控制台执行:

ll node_modules

在打印出来的东西中我们可以看到 my-test-0807 这个符号链接指向的实际文件, 也就是D:\my-test-0807


使用 npm link 时,我们需要分两步来执行。

第一步,在我们包源文件根目录下执行:

npm link

将该包链接到本地全局环境

第二步,在我们需要使用该包的项目里进行链接:

npm link my-test-0807

然后我们可以看到 node_modules 中出现了 my-test-0807 符号链接。

这两步其实也可以合并为一步,直接在需要使用该包的项目里进行链接:

npm link D:\my-test-0807

要取消全局链接时,可以在包源文件的根目录下执行:

npm unlink

也可以直接删除符号链接。


三、使用 npm install

在包源文件的父级目录中执行:

npm install -g my-test-0807

执行完之后我们会发现,它也创建了一个全局链接,看到这里我想很多人都会疑惑,这条命令不是安装已经发布的 npm 包吗,为什么会创建一条符号链接?其实当我们执行install命令时,如果当前目录下有该包,npm则会给我们创建该包的全局链接,而不是去下载已经发布的包。如果当前目录下没有该包,npm会给我们下载已经发布的包。

然后就跟第二种方法一样,在我们需要使用该包的项目里进行链接:

npm link my-test-0807


推荐阅读
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • npmrunbuild后dist文件夹下面直接浏览器打开index.html,css和js的路径都不正确。放到跟目录下就正常了,iis上同样只能在根目录下。我项目的目录如下: ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
author-avatar
Mr_小迪2502897623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有