ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS高级—16—包管理工具

2022-05-21 21:01:19  阅读:141  来源: 互联网

标签:npm 缓存 package 16 管理工具 JS json foo 安装


一、代码共享方案

 

 二、npm

 使用npm来管理我们的模块,如果需要使用直接使用npm即可,类似java的maven,如果想看源码再去github找;

 

npm网页:一个是回去搜索registry仓库里所有包的web网页;

npm registry:一个是存储所有代码的仓库;

2.1npm 的配置文件

 

 

 

2.2npm配置文件的属性

 

 

main属性指定了,我们写的这个模块,哪一个文件是我们的入口文件;比如说main属性指定为foo.js;

比如说其他调用者通过import  foo from ‘axios’的方法调用;(其实webpack是去找import  foo from ‘axios/foo.js’)

 

 

 peerDependancy:表示对等的依赖,安装我这个模块时先检查调用者项目里是否安装了peerDependancy里的包,如果有的话我这个模块才能正常使用;

比如安装element-plus需要的对等依赖时vue3,不然安装element-plus无法使用;

 

 

 

 

 

 

 

2.3npm的版本管理

 

 

2.4npm install的原理

 

 

 

 

 

 

package—lock.json的作用:

第一:有了package—lock.json,会记录真实的版本号,在npminstall的时候会安装这个真实的版本号,如果没有,可能会根据package.json文件安装,那^2.03可能就会安装为2.9.9,可能会导致一些异常;

第二:有了package—lock.json,在npminstall的时候会先检查是否依赖一致,即npminstall制定的版本和package—lock.json里记录的版本是否一致,如果一致可以查找本地时候有已安装的包的缓存,加快我们的安装速度;

 

 

 2.5npm其他命令

有的时候本地缓存文件可能已经被破坏了,但是npm仍然从本地缓存去文件,所有就会有问题,我们可以用这个命令重新安装本地缓存;

然后把node_modules文件夹删除了,然后再把本地缓存解压缩到node_modules;

 

 

 npx命令

 

 

 

 

 

 

2.6cnpm

可以npm的源还是官方原,但是安装个cnpm并把cnpm的源改成淘宝源,如果以后npm下载不了的东西,再用cnpm下载;

 

 

 

 

三、自己发布npm包

注意,发布自己的包,必须保证npm 的registry时官方源而不是淘宝源;

检查这个包是否已经有人起了这个名字:npm view package-names (如果觉得输出太长,可以使用:npm view package-names version)

 

标签:npm,缓存,package,16,管理工具,JS,json,foo,安装
来源: https://www.cnblogs.com/EricShen/p/16204654.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有