写在最前:跟着视频学习只是为了在新手快速入门。想要学习全面、进阶知识需要格外注重实战官方技术文档文档建议作为手册使用

系列文章

node提供的包管理工具npm —— Node Package Manager,不过yarn稳定

使用命令npm init -y可以快速创建package.json文件

1、npm相关命令

搜索npm包的网址www.npmjs.com需要魔法上网

npm命令(以下 i 都是 install简写 功能
npm install <包名>npm i <包名> 下载对应包,默认下载最新版
npm uninstall <包名>npm r <包名>npm remove <包名> 卸载
npm i -S <包名&gt;npm isave <包名>默认 安装生产环境下,包信息存储package.jsondependencies属性
npm i -D <包名>npm isavedev <包名> 安装开发环境下,包信息存储在package.jsondevDependencies属性
npm i -g nodemon 使用 -g 进行全局安装,这将会让你在命令行任何位置都能够使用这个
npm root -g 查看全局安装包的位置,注意全局安装包不是安装在你项目里的
**npm i **、npm install 根据package.jsonpackage-lock.json安装项目所需的所有依赖
npm i <包名>@x.xx.xx 安装指定版本的包
npm uninstall <包名>@x.xx.xx 卸载指定版本的包
**npm r -g <包名> **、npm remove -g <包名> 全局卸载
npm init 初始化
npm run <别名> 运行别名

2、require引入npm模块

依赖:A包中安装了B包,那么B包就是A包的一个依赖包,称作A依赖B

3、环境变量path

文件路径复制我的电脑 --> 属性 --> 高级系统设置 --> 环境变量 --> 用户变量 --> PATH中,就可以命令行任意位置使用该命令。这是因为配置环境变量PATH中后,使用命令时就会去环境变量中查找路径

4、npm配置命令别名

package.json文件中的"script配置项下",按照这种语法配置别名:"别名": " 指令 "

比如

{
	"script": {
        "serve": "set NODE_OPTIONS=--openssl-legacy-provider &amp;&amp; vue-cli-service serve",
    }
}

其实有些包在安装时候或者项目初始化时候,一些别名就已经配置好了

在这里插入图片描述

5、镜像

因为npm包放在外网服务器,有些时候下载可能比较慢甚至中断下载报警,所以为了提高下载速度,有些时候需要用到国内一些公司部署镜像源、比如淘宝

5.1、安装镜像

安装淘宝源:

npm install -g cnpm --registry=http://registry.npmmirror.com

指令其实就是把npm换成cnpm就行,其他镜像源的安装参照这个就行

5.2、配置镜像源

1、直接配置:

npm config set registry http://registry.npmmirror.com

2、使用nrm配置npm的镜像地址

6、yarn管理工具

yarn是Facebook(现mate)推出的JavaScript包管理工具

它的优点:

安装

npm i -g yarn

启动项目时候,npm需要npm run dev,yarn只需要yarn dev

功能 指令
初始化 yarn inityarn init -y
安装 yarn add <包名>yarn add <包名> —dev生产依赖、**yarn global add <包名>**全局安装
删除 yarn remove <包名>、**yarn global remove <包名>**全局删除
安装项目依赖 **yarn **
运行命令别名 yarn <别名>

7、包管理工具选择、判定

个人项目无所谓

公司项目:

管理工具不要在同一个项目里混用,以防意外

8、npm包的发布更新、删除

8.1 制作发布

流程如下:

下面是一个npm包的例子

/**
 * vertify if two one-dimensional arrays are identical
 * @param {Array} arr1 
 * @param {Array} arr2 
 * @returns Boolean
 */
function isArrEqual(arr1, arr2){
    return arr1 &amp;&amp; arr2 &amp;&amp; arr1.length === arr2.length &amp;&amp; arr1.every((item) => arr2.includes(item))
}

/**
 * array deduplication
 * @param {Array} arr1
 */
function removeDuplicates(arr){
    return [...new Set(arr)]
}

module.exports = {
    isArrEqual,
    removeDuplicates
}

8.2、 更新

8.3、删除包

可以被删除的条件

删除命令:npm unpublishnpm unpublish --force

9、其他语言或者OS的包管理工具

语言 管理工具
PHP composer
Python pip
Java maven
Go go mod
JavaScript npm / yarn / cnpm / …
Ruby rubyGems
操作系统 管理工具
Centos yum
Ubuntu apt
MacOs homebrew
Windows chocolatey

原文地址:https://blog.csdn.net/liushi21/article/details/134684689

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33204.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注