npm如何引入本地自建的包和需要维护的包_npm install 从本地node_modules中获取-程序员宅基地

技术标签: 随笔  npm  javascript  

  之前项目中一些包需要更改,然后放到本地项目中维护。因为某些网络限制,也有些包无法install下来,本地代码库会维护包。

  以下测试基于mac  npm 6.9.0版本,原文(https://www.nqone.com...

  正常情况下在项目 package.json 所在的目录(一般也是项目根目录)运行npm install xxxx  命令之后,会从远程或者代理地址下载xxxx包到node_modules,然后在package.json生成对应的包名和版本

  如果想要依赖本地自己开发的一个包或者更改别人的包放到本地维护需要怎么处理呢?

  如果跟项目package.json平级的目录有一个文件夹 test12121212121 ,在test12121212121里面用 npm init -y 初始化了这个文件夹, 这个文件夹就会有一个package.json文件。

  在根目录 npm install test12121212121  就会将这个文件夹下载到 node_modules下面,根目录下的 package.json 会生成对应的文件路径,如下图:

  红色框对应的本地维护的包,蓝色框根目录下的package.json

  

  注意:此时npm install 对应的文件夹名,install的是文件夹名称,install包名会从远程寻找,如果本地包名和文件夹名不一样,对应的package.json显示如下:

  sdddddd 对应的包名称,test12121212121 对应的文件夹名称, 运行的命令是 npm install test12121212121

  

  有些场景我们本地会维护很多包但是不希望都创建一个文件夹,希望放到统一的文件夹里面,比如 根目录新建一个lib文件夹,这个时候如果想要下载本地包,需要手动将依赖更改成对应的路径,运行npm i命令便可以

  如下图所示:

  lib下有个testa文件夹,包名称是cccccccc,可以在根目录的package.json手动指定下载这个包,包名 对应的文件路径,写法如下,运行npm install的时候会将对应的文件包下载至node_modules  

  注意点:如果项目中存在了package-lock.json文件,那么你下载本地包的时候可能不会将包增加至node_modules文件夹下面,但是在package-lock.json中会存在记录,如下图的wewtwet包

  最后,本地维护的包需要满足能够上传npm包管理库的条件,本地的包如果需要能够被下载一定要有package.json文件(快速的方法就是在本地包文件夹 npm init -y 快速生成),否则的话会找不到。 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fanweilin0123/article/details/106458861

智能推荐

初学HTML5——画布(canvas)_html canvas里加标题-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏11次。一.canvas介绍canvas为画布, 使用canvas便可以轻松的在网页上绘制图形,文字,图片等。二.画布的使用1.创建画布:HTML5中提供了<canvas>标签,使用<canvas>标签可以在网页中创建一个矩形区域的画布:<canvas id="cavsElem" width=“400” height="300">你的浏览器不支持canva..._html canvas里加标题

牛客网剑指Offer_66道python(更新中)_牛客网剑指offer 66题 python-程序员宅基地

文章浏览阅读1k次。牛客网剑指Offer_编程题导语1 Fibonacci数列及其应用(考察:递归与循环)2 数组3 查找与排序4功能快捷键5合理的创建标题,有助于目录的生成6如何改变文本的样式7插入链接与图片8如何插入一段漂亮的代码片9生成一个适合你的列表10创建一个表格11设定内容居中、居左、居右12SmartyPants13创建一个自定义列表14如何创建一个注脚15注释也是必不可少的16KaTeX数学公式..._牛客网剑指offer 66题 python

计算机网络--基本命令使用_网络基本命令的使用-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏14次。目录实验一:ipconfig实验二:ping实验三:tracert实验一:ipconfig ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)1、使用 ipconfig/all 查看自己计算机的网络配置IPv6地址:IPv4地址:子网掩码(Subnet Mask):网关(Gateway):2、使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。✎ 问题你的计算机和旁边的计算机是否_网络基本命令的使用

skywalking_skywalking重启-程序员宅基地

文章浏览阅读1.8k次。skywalking和agent_skywalking重启

RC5T620-1017电源管理IC规格书/datasheet_rc5t620 1017-程序员宅基地

文章浏览阅读665次。RC5T620-1017是用于GPS-PND/MID和智能电话的电源管理IC,它集成了五个高效降压DCDC转换器,十二个低压降稳压器,电源控制逻辑,锂离子电池充电器,I2C总线接口, 电压检测,热关断等。RC5T620结构图:特征:1.系统I2C总线接口@ 3.4MHz和400kHz检测器功能(系统/ IO /电池电压检测器,UVLO)热关断功能看门狗定时器打开按键输入以启动系统CPU的上电复位输出通过OTP灵活的开机/关机顺序通过OTP灵活的DCDCx和LDOx默认开/关控制_rc5t620 1017

喜马拉雅 xm文件转m4a_音频转文字这种刚需,我用python写了个软件,免费不限时...-程序员宅基地

文章浏览阅读837次。最新独立版本,bug更少,支持格式更多,欢迎体验。王华:音频转文字工具,完全免费,自己用Python写的!​zhuanlan.zhihu.com一、需求分析:1、音频转文字:目前市面上的音频转文字大多收费。音频转文字的需求是:上传一段音频,直接识别成文字,对于会议记录的比较好使,注意不是实时的语音识别。 2、文字转语音:转的语音不要太生硬。3、截图文字识别(OCR):截屏完成即可弹出截图所含图片..._xm转m4a

随便推点

android 9.0 开机动画,Android bootanim开机动画启动流程-程序员宅基地

文章浏览阅读870次。1. system进程在启动过程中会调用SurfaceFlinger类的静态成员函数instantiate来启动SurfaceFlinger服务。启动过程中,首先创建一个SurfaceFlinger实例,此实例会被一个SP 指针引用。当一个对象被一个智能指针第一次引用的时候,该类的onFirstRef方法将被调用:void SurfaceFlinger::onFirstRef(){mEventQu..._android bootnim

[转]quick-cocos2d-x 从2.2.5升级到3.3的体会-程序员宅基地

文章浏览阅读431次。原文地址:https://my.oschina.net/ffs/blog/390275从quick 2.2.5升级到quick 3.3 final版本,我发现改动还是很大的,但是github上的文档只涵盖了很少的一部分,因此我在这里把自己升级中的一些注意事项罗列出来,希望能有所帮助。 首先,我们可以看看github上的文档,主要有如下部分: 下列函

Java-接口和多态_error: constructor pingpangplayer in class pingpan-程序员宅基地

文章浏览阅读149次。接口接口Interface,接口和类的关系是实现,implementsInterface 接口名{}package com.it01;/* * java用于处理继承的单一局限性---接口Interface,接口和类的关系是实现,implements * * 创建接口的格式 * Interface 接口名{ * } */public class Inte..._error: constructor pingpangplayer in class pingpangplayer cannot be applied

Kotlin-简约之美-进阶篇(二):when的使用详解_kotlin duplicate label in when-程序员宅基地

文章浏览阅读1.4k次。提到 when,大家都会联想到 Java 中的 switch,然而在 kotlin 中,when 显然比 Java 中的 switch 要强大得多。首先,我们先来看看 when 的特点:它可以作为表达式使用使用更加安全强大灵活的分支结构可以不带参数接下来,我来带大家逐步领略这些特点。以下面这段 Java 功能代码为例:switch(animal) { case EAGLE:..._kotlin duplicate label in when

NVIDIA vGPU vApps/vWS/vCS适配GPU版本介绍-程序员宅基地

文章浏览阅读2.9k次。NVIDIA vGPU 12.0版本-vGPU版本名称变化 -注: 2021年1月生效最新名称 NVIDIA Virtual PC (vPC)-曾用名称 NVIDIA GRID Virtual PC (GRID vPC) 最新名称 NVIDIA Virtual Applications (vApps)-曾用名称 NVIDIA GRID Virtual Applications (GRID vApps) 最新名称 NVIDIA RTX Virtual Workstation (vWS)-曾用名...

ssh树苺派问题:-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN)-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏5次。1 问题描述MAC、Ubuntu16.04通过ssh方式连接树苺派4B时,均出现如下问题提示,并且在编辑时出现乱码。-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN)其中,树苺派locale如下locale: Cannot set LC_CTYPE to default locale: No such file ..._bash: warning: setlocale: lc_all: cannot change locale (zh_cn.utf-8)

推荐文章

热门文章

相关标签