react

1、npm仓库地址设置

  • 指定仓库地址 --registry
npm --registry https://registry.npm.taobao.org install
  • 查看仓库地址
npm config get registry
  • 设置仓库地址
npm config set registry https://registry.npmjs.org/
  • 恢复默认镜像地址
npm config delete registry

2、package.json与package-lock.json区别

package.json 是在运行 “ npm init ”时生成的,主要记录项目依赖

  • name:项目名,也就是在使用npm init 初始化时取的名字,但是如果使用的是npm init -y 快速初始化的话,那这里的名字就是默认存放这个文件的文件名;
  • version:版本号;
  • private:希不希望授权别人以任何形式使用私有包或未发布的;
  • scripts-serve:是vue的项目启动简写配置;
  • scripts-build:是vue的打包操作简写配置;
  • dependencies:指定了项目运行时所依赖的模块;
  • devDependencies:指定项目开发时所需要的模块,也就是在项目开发时才用得上,一旦项目打包上线了,就将移除这里的第三方模块

package-lock.json是在运行“npm install”时生成的一个文件

用于记录当前状态下项目中实际安装的各个package的版本号、模块下载地址、及这个模块又依赖了哪些依赖。

为什么有了package.json,还需要package-lock.json文件呢?

当项目中已有 package-lock.json 文件,在安装项目依赖时,将以该文件为主进行解析安装指定版本依赖包,而不是使用 package.json 来解析和安装模块。因为 package 只是指定的版本不够具体,而package-lock 为每个模块及其每个依赖项指定了版本,位置和完整性哈希,所以它每次创建的安装都是相同的。无论你使用什么设备,或者将来安装它都无关紧要,每次都应该给你相同的结果。

3、使用npm命令和yarn命令混合使用会出现安装包冲突

问题分析:

如果将yarn.lock和package.lock文件放在一起,有时会变得很困难,因为存在不同步的风险
yarn install 安装生成的 yarn.lock 文件 与 npm install 生成的 package-lock.json 文件时间相差较远,造成了 yarn.lock 的包版本低于 package-lock.json 的包版本。因为以 ?x.x.x 形式定义的包版本在不同时期安装包版本不一致。
yarn 安装 @babel/preset-env 版本有: “7.5.5”, “^7.4.5”,实际安装的 version 是 “7.5.5”。
npm 与 yarn 安装包不一致
纱线和npm是可以互换的。只要你每次都使用相同的一个,它们之间就没有区别。它们有不同的安装目录,这就是它们不能一起使用的原因。Yarn会安装一个包,npm找不到它。npm会安装一个包,yarn找不到它

解决方法:

使用 npm i xxx --legacy-peer-deps,命令来安装依赖!


 

你可能感兴趣的:(npm,前端,node.js)