npm 是什么 npm 是一个包管理工具,开源作者可以把开源包发布在平台上供其他人下载 使用 前端 的同学基本都 使用 npm ,这里就不做过多介绍。日常工作 npm 的主要用途就是根据 项目 的package.json 使用 npm install去 安装 依赖 npm install可以说是我们 使用 最频繁的一个指令。在 npm 5 版本 之前, npm install会根据package.json指定的 依赖 版本 去进行 安装 。但往往p... npm 安装 同一 个包的 不同 版本 ,以echarts为例 npm install echarts4@ npm :echarts@4 npm install echarts5@ npm :echarts@5 上面代码是 安装 echarts4和5 两个 版本 ,分别命名为echarts4和echarts4 安装 完成后package.json里的 依赖 会写进去如下代码: "echarts4": " npm :echarts@^4.8.0", "echarts5": " npm :echarts@^5.0.2", 这就表示 项目 里成功 安装 了ec npm 安装 指定的 版本 号,格式为 ‘包名@ 版本 号’注意:已有 版本 的情况下需要先删除 依赖 ,不能直接在package.json 版本 号,因为package-lock.json 仍然是修改前的 版本 号。 npm 无法同时 安装 同一 个 package 的 不同 版本 ,以往遇到这种需求的时候,我的办法是自己新建一个包,然后在新建的包里 安装 目标包的一个 版本 ,然后暴露出去。这样, 项目 就可以 依赖 新建的包和另一个 版本 ,实现同时 依赖 两个 版本 的目的。 在 npm 6.9 以后, npm 可以为 安装 的包 使用 别名 ,可以近乎完美地解决这个问题了。elasticsearch-js 项目 有一段详细说明如何 使用 ,我把这一段翻译了一下。 同时 使用 多... 上周吃饭时,大家聊到一个问题。比如我的 项目 trade, 依赖 了A@1.0.0 版本 。 然后我又引入了B,而B 依赖 A@2.0.0 版本 ,这时候会产生冲突吗? 都知道不会有冲突,因为这种场景太常见了。不过具体是如何做到的,并没有去了解过。 今天正好有空,就写了个demo看看 首先建立好 项目 trade,然后 安装 A@1.0.0,执行 npm ls -depth=1 trade └─ A@1.0.0 然后弄个 npm 包B,让它 依赖 A@2.0.0, 项目 trade 安装 B之后,执行 npm ls -depth=1 5、 使用 命令 --save 或者说不写命令 --save, 都会把信息记录到 dependencies ;devDependencies 记录的是 项目 在开发过程 需要 使用 的一些文件,在 项目 最终运行时是不需要的;2、 npm install module_name -D // -D 为 --save-dev 的缩写。1、 npm install module_name -S //-S 为 --save 的缩写。 使用 命令 --save-dev 则会把信息记录到 devDependencies ; 我们最近在 使用 Redis作Session的集 化, 间碰到了一个如下问题:我们有一些 项目 比较老,引用了NewtonJson的4.0.3.0 版本 的DLL,但是Redis提供的C#集成DLL引用的是NewtonJson的7.0.0.0 版本 的DLL,但我们要在老 项目 引用Redis集成DLL,因而就碰到了NewtonJson的 版本 冲突问题。 解决方案一 一、基本概念 npm 全称为 Node Package Manager,是一个基于 Node.js 的包管理器,也是 Node.js 社区最流行、支持的第三方模块最多的包管理器。它的初衷就是让开发人员更容易分享和重用代码。 npm 提供了命令行工具,其主要功能是管理Node.js包,包括 安装 、更新、删除、查看、搜索、发布等。 ​ npm 最初只是Node.js 的包管理器,但随着 前端 技术的不断发展,它的定位变成了广义的包管理器,可以实现JavaScript、React、Vue、Gulp、移动开发等包管理,