摘要:概述本篇文章承接上文,记录的和版本在包管理方面的异同,基于阅读官方原文整理简化。此时的文件夹如下所示包的复制和取消复制假设我们有一个项目依赖添加依赖依赖,此时添加依赖依赖,此时升级依赖依赖,此时升级依赖依赖,此时执行查看文件夹资源项目
0x000 概述
本篇文章承接上文,记录的v2和v3版本在包管理方面的异同,基于阅读官方原文整理简化。
0x001 v2管理方式假设有模块A、B、C,A依赖B1.0,C依赖B2.0,我们可以得出以下依赖图:
接着我们创建一个App,同时依赖A和C,此时便会出现依赖地狱
npm不使用单一的B版本包,而是让不同的B版本同时存在,只不过存在在各自的依赖包中,
看起来就像这样
0x002 v3管理方式v3和v2对于依赖管理的方式不太一样,v3希望让依赖扁平化。
假设我们有一个模块A,A依赖B
创建一个项目依赖A
此时执行npm install,npm将会同时安装模块A、B,并且扁平的放在项目的node_modules文件夹下
此时我们再依赖一个模块C,C依赖B2.0
因为我们已经让B1.0扁平化了,所以我们没有办法让B2.0也扁平化,所以,这时候的B2.0使用和v2相同的处理方式。
此时的node_modules文件夹如下所示
假设我们有一个项目
A1.0
B1.0
C1.0依赖B2.0
添加依赖D依赖B2.0 ,此时:
添加依赖D依赖B1.0,此时
升级依赖A2.0依赖B2.0,此时
升级依赖E2.0依赖B2.0,此时
执行npm dedupe
查看node_modules文件夹:
项目github
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/88562.html
摘要:引用并执行如果安装出错,比如写错了包名,将会发生以下事情命令行报错使用可以自己新建一个文件编写也可以直接使用来初始化一个该命令是一个交互式命令,可以根据提示输入相应信息生成相应的,命令提示后面的中为提示内容,可以选择一路,然后再去修改。 0x001 概述 npm是一个包管理工具,本文章基本算是对官方文档的解读、翻译和实操笔记,顺便说明使用npm中的坑。 0x002 安装Node.js ...
摘要:概述本篇文章承接上文,记录的是如何发布自己的模块编写模块新建项目并初始化编写模块代码发布模块测试模块命名空间每个人都可以发布自己的包,难免会有包名相同的情况,如果想要使 0x001 概述 本篇文章承接上文,记录的是如何发布自己的Node.js模块 0x002 编写模块 新建项目并初始化 $ mkdir 0x005-publish-own-module $ cd 0x005-publis...
摘要:如何选择就如果上面所有,需要打包进生产环境就保存到,只是在开发或者打包的时候使用的就保存到即可。提示不能发布当前版本解决方案不能发布已经发布的版本,修改一下版本号就可以了想不到了,想到了再写资源项目 0x001 概述 本篇文章承接上文,记录的是一些使用过程中的疑惑 0x001 墙的原因使得包下载太慢 解决方案:使用淘宝cnpm,推荐使用cnpm,因为如果修改npm仓库,将会导致无法发布...
摘要:概述本篇文章承接上文,记录的的配置和命令的详细说明。的配置说明项目名称,的时候就是使用这个。案例说明版本号,符合的版本规范的版本号,默认从开始。 0x000 概述 本篇文章承接上文,记录的package.json的配置和npm命令的详细说明。 0x001 package.json的配置 name: 说明:项目名称,npm install的时候就是使用这个name。 案例:loda...
摘要:最近刚刚学习了一个的开发框架,最重要的是可以用开发传送门以下是学习过程中的笔记上面时全局安装完成后用检查是否成功创建了一个名为的项目,然后进入目录,安装依赖,启动项目,浏览器打开就可以看到页面了。 最近刚刚学习了thinkjs--一个node的MVC开发框架,最重要的是可以用es6/es7开发【传送门】 以下是学习过程中的笔记: npm install thinkjs@2 -g --v...
阅读 1842·2021-08-19 11:12
阅读 1419·2021-07-25 21:37
阅读 983·2019-08-30 14:07
阅读 1262·2019-08-30 13:12
阅读 647·2019-08-30 11:00
阅读 3525·2019-08-29 16:28
阅读 984·2019-08-29 15:33
阅读 2961·2019-08-26 13:40