包管理工具之npm及常用命令

npm

包安装 

npm install +  包名  或  npm i + 包名    

npm install --global + 包名  或  npm i g + 包名  (重要:全局安装的包并非所有工程可用,它仅提供全局的CLI命令)

安装分为2种,本地安装 和 全局安装,默认本地安装,即当前目录下,全局安装的包放置在一个特殊的全局目录下,可以通过

npm config get prefix 查看全局目录位置。

大部分情况下,都不需要全局安装包,除非:

1. 包的版本非常稳定,很少有大的更新

2. 提供的CLI工具在各个工程中使用的非常频繁

3. CLI工具仅为开发环境提供支持,而非部署环境

 

包配置

目前遇到的的问题:

1. 拷贝的工程如何还原依赖?

2. 如何区分开发依赖和生产依赖?

3. 如果自身的项目也是一个包,如何描述包的信息

以上的问题都可以通过包的配置来解决

配置文件

npm将使用npm的工程本身看作成一个包,包的信息需要通过一个名词固定的配置文件来描述

配置文件的名词固定为:package.json

如何生产:可以手动创建该文件,而更多的时候,是通过命令 npm init 来创建的。

文件内容:项目名称、项目描述,入口文件,版本号、开发依赖、生产依赖...

注:npm init -y(--yes)  快速创建,所有的选项都使用默认值

保存依赖关系

package.json文件最重要的作用,是记录当前工程的依赖

1. dependencies: 生产环境的依赖包

2. devDependencies:  仅开发环境的依赖包

仅安装生产环境的依赖: npm install --production

npm i      npm i -S     npm i --save   安装的依赖默认为生产环境

npm i -D     npm --save-dev  安装为开发环境

 

包的使用

当使用nodejs导入模块时,如果模块路径不是以 ./ 或 ../ 开头,则node会认为导入的模块来自于node_modules目录。

这一块就不详细介绍了,自己在安装依赖的时候,可以搜索一下该依赖的使用方式,一般都是能搜索到的。

 

语义版本

当自已需要发布包的时候,要特别去了解该知识点。主要是对项目中使用到的依赖做版本控制。

 

避免还原的差异(安装确切版本的依赖)

package-lock.json 文件,该文件记录了安装包的确切依赖关系

当移植工程时,如果移植了package-lock.json文件,恢复安装时,会按照package-lock.json文件中的确切依赖进行安装,最大限度的避免了差异。

 

npm 脚本 (npm scripts)

对使用频率较高的CLI命令,在package.json中进行配置scripts字段。

 

运行环境配置

一般有三种运行环境:

1. 开发环境

2. 生产环境

3. 测试环境

node中有一个全局变量global(可以类比浏览器环境的window),该变量是一个对象,对象中的所有属性均可以直接使用。

global有一个属性是process,该属性是一个对象,包含了当前运行node程序的计算机的很多信息,其中一个信息就是env,

是一个对象,包含了计算机中所有的系统变量

通常,我们通过系统变量 NODE_ENV 的值,来判定node程序处于何种环境

有两中方式设置 NODE_ENV 的值

1. 永久设置   -->  本地手动添加环境变量

2. 临时设置  --> 在package.json配置scripts

例如: "scripts": {

                "start" : "cross-env NODE_ENV=development node index.js"

}

注: cross-env 是一个插件,用来兼容不同系统的环境设置命令(window下是set NODE_ENV=development; mac下是export);

 

常用的npm命令

安装

1. 精确安装最新版本

npm install --save-exact 包名

npm install -E 包名

2. 安装指定版本

npm install 包名@版本号    // 例子: npm i lodash@2.1.0

 

查询

1. 查询包安装路径

npm root [-g]  ([] 为可选,-g 表示全局路径,不填则为本地路径)

2. 查看包信息

npm view 包名(依赖) [子信息]

3. 查询安装包g

npm list [-g] [--depth=依赖深度]

 

更新

1. 检查有哪些包需要更新

npm outdated

2. 更新包

npm update [-g] [包名]  (npm update 全部更新)

 

卸载

npm uninstall [-g] 包名

 

npm 配置

1. 查询目前生效的各种配置

npm config ls

 

2. 操作配置

获取某个配置项

npm config get 配置项

设置某个配置项

npm config set 配置项=值

移除某个配置项

npm config delete 配置项

 

发布包

准备工作

1. 移除淘宝镜像源

2. npm官网注册账号,完成邮箱认证

3. 本地使用 npm cli 进行登录 

npm login  进行登录

npm whoami 查看当前登录账号

npm lugout 退出登录

4. 创建工程根目录

5 npm init 初始化项目

 

发布

1. 开发

2. 确定版本

3. npm publish  发布

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值