npm 是目前js最流行的包管理工具,也是Node.js能够如此成功的主要原因之一。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。 npm 由三个独立的部分组成:
网站是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。 注册表 是一个巨大的数据库,保存了每个包(package)的信息。 CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
Yarn 是为了弥补 npm 的一些缺陷而出现的, 它是由Facebook, Google, Exponent and Tilde开发者共同开发完成,Yarn 定位为"快速、可靠、安全的依赖管理工具"。
1、离线模式
yarn会有一个缓存目录,会缓存以前安装过的软件包,再次安装时就不必从网络下载了,大大加速安装速度。
2、依赖关系确定性
在每一台机器上针对同一个工程安装依赖时,生成的依赖关系顺序和版本是一致的。
3、网络性能优化
下载软件时会优化请求顺序,避免请求瀑布发生
4、网络回弹
yarn在某个安装包请求失败时不会导致安装失败,它会自动去尝试重新安装。而npm则会毫不犹豫的失败,导致得再来一次,耗费时间
5、多注册来源
所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。
6、扁平模式
对于多个包依赖同一个子包的情况,yarn会尽量提取为同一个包,防止出现多处副本,浪费空间。比如1.2中,yarn会为babel-generator和babel-helper-define-map 创建同一个lodash子依赖,这样就节约一份的空间。
npm | yarn |
---|---|
npm install | yarn install |
(N/A) | yarn install --flat |
(N/A) | yarn install --har |
(N/A) | yarn install --no-lockfile |
(N/A) | yarn install --pure-lockfile |
npm install [package] | (N/A) |
npm install --save [package] | yarn add [package] |
npm install --save-dev [package] | yarn add [package] [--dev/-D] |
(N/A) | yarn add [package] [--peer/-P] |
npm install --save-optional [package] | yarn add [package] [--optional/-O] |
npm install --save-exact [package] | yarn add [package] [--exact/-E] |
(N/A) | yarn add [package] [--tilde/-T] |
npm install --global [package] | yarn global add [package] |
npm rebuild | yarn install --force |
npm uninstall [package] | (N/A) |
npm uninstall --save [package] | yarn remove [package] |
npm uninstall --save-dev [package] | yarn remove [package] |
npm uninstall --save-optional [package] | yarn remove [package] |
npm cache clean | yarn cache clean |
rm -rf node_modules && npm install | yarn upgrade |
npm init yarn init
npm install yarn
npm install --save [package]
yarn add [package]
npm install --save-dev [package]
yarn add [package] [--dev/-D]
npm install --global [package] yarn global add [package]
npm install [package]@[version] yarn add [package]@[version]
npm reubild yarn install --force
npm uninstall [package] npm uninstall --save [package] yarn remove [package] npm uninstall --save-dev [package]
rm -rf node_modules && npm install yarn upgrade
下面通过三种方法来搭建公司私有npm仓库,每种方式都有自己的优势。启动并配置服务、设置注册地址、登录cnpm、包上传到私有仓库、查看预览包、通过verdaccio搭建....
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。它的目的是解决这些团队使用 npm 面临的少数问题,即:安装的时候无法保证速度/一致性,安全问题,因为 npm 安装时允许运行代码
webpack:解析js文件,无法解析的文件需要借助loader,npm插件发布(vue&webpack&单页面):npm init =>package.json,创建.vue文件 =>插件界面及功能,index.js =>入口文件
NPM是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。这篇文章整理NPM常用的一些命令
直接通过&&连接多条命令,在npm run start的时候,发现只停留在第一个命令执行监听,后面的命令都没有执行。只能通过打开多个窗口分别执行多条命令,那么有没有办法实现一条npm命令执行多条监听呢?
npm和bower太像了,就像一对孪生兄弟…… npm的文件是package.json,包安装的目录是node_modules。 bower的文件是bower.json,包安装的目录是bower_components。使用命令也基本一致
这篇文章主要介绍了vue项目中Npm run build 根据环境传递参数方法来打包不同域名,使用npm run build --xxx,根据传递参数xxx来判定不同的环境,给出不同的域名配置,具体内容详情大家参考下:config文件夹下dev.env.js中修改代码、prod.env.js中修改代码 HOST为截取到的参数
使用node.js和npm,在安装模块的时候报错npm WARN saveError ENOENT: no such file or directory, open ...的解决办法。这个原因就是因为项目没有进行初始化,缺少package.json文件造成的。需要package.json才能npm install。 可以npm init初始化生成一个package.json。
抽空写了一个 textarea,打算发布到 npm 的时候却遇到了问题,之前用 vue-cli 2.x 的时候,打包配置项非常透明,可以很容易的修改,但升级到 vue-cli 3.x 之后,反而一脸懵逼
如果您曾在 Node 或 JavaScript 前端开发中投入过时间和精力,那么您就知道 npm 中有数以十万计的模块可供您选择。挑选模块可能很难,但您只需要一些方法点来解决它。当您正在为如何抉择浪费时间,或者甚至不知道从哪里开始时,请使用本指南来帮助您。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!