【包管理】NPM

NPM

  1. nvm
  2. npm

1. NVM

NVM(Node Version Manager):Node版本管理

Windows上安装
地址
【包管理】NPM_第1张图片

下载压缩包直接安装即可

常用命令

  • 查看

    //查看可安装的node版本
    nvm ls available
    //查看已经安装的node版本
    nvm ls
  • 安装与卸载

    //安装一个node
    nvm install [version]
    //卸载一个node
    nvm uninstall [version]
  • 切换

    //切换node版本
    nvm use [version]

2 NPM

NPM(Node Package Manager):Node包管理

  1. 包管理
  2. 上传包
  3. 脚本
  4. NRM
  5. NPX

2.1 包管理

全局安装

//全局安装与卸载 不指定version默认为当前最新版本
npm install(i) package[@verison] --global(-g)
npm uninstall package[@verison] -global(-g)

查看

//查看包可安装的版本
npm view package[@verison] versions
//查看安装的所有包
npm list(ls)
//查看已安装的一个包
npm list(ls) | grep package

本地安装

//初始化package.json
npm init -y
//安装至生产环境
npm i package[@verison] [--save]
//安装至开发环境
npm i package[@verison] --dev(-D)
//卸载不用添加额外的修饰符

更新版本
package.json中的版本锁定

    • :不锁定版本 - 更新三位
  • ^X.X.X:锁定第一位 - 更新后两位
  • ~X.X.X:锁定前两位 - 更新最后一位
  • X.X.X :锁定三位 - 指定版本

更新

//根据锁定查看可更新信息
npm outdated
//更新至锁定的最新版本
npm update
//安装指定版本
npm i package@version

清除缓存

npm cache clean --force
包第一次安装失败后再次安装也可能失败,需要清除缓存

2.2 上传包

创建一个包

//初始化
npm init
//index.js commonJS导出
function sayHello() {
    return 'Hello World'
}
module.exports.sayHello = sayHello
//其他文件夹下引入
let a = require('../test/index')
console.log(a.sayHello());
在package.json中配置name - 包名
version包版本

npm源

//查看源
npm config get registry
//切换源
npm config set registry url
npm淘宝镜像源: https://registry.npm.taobao.org/
npm源: https://registry.npmjs.org/

登录与上传

//登录 - 先在npm官网注册
npm aduser
//上传 - 可以在npm官网查看该包
npm publish
//卸载 - 从npm官网中删除
npm unpublish --force
//在其他文件在安装
npm i crofy-hello -D
//引入
let a = require('crofy-hello')
console.log(a.sayHello());

2.3 脚本

在package.json中的scripts选项中自定义脚本
编写脚本

//自定义指令
"scripts": {
    "hello1": "node script1.js"
    "hello2": "node script2.js"
}
//并行执行 - 先后不确定
npm run hello1 & npm run hello2
//串行执行 - 先后顺序确定
npm run hello1 && npm run hello2
使用 starttestbuild等指令不用加run,npm直接加这些指令就可执行脚本

变量

  • $npm_package_ 可以获取package.json中的字段
  • env 可以列出所有环境变量

默认值

  • start:node server.js
  • install:node-gyp rebuild

cross-env
运行跨平台设置和使用环境变量的脚本

//安装
npm install --save-dev cross-env
//使用
 "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
NODE_ENV环境变量将由 cross-env 设置 打印 process.env.NODE_ENV === 'production'

2.4 NRM

NRM(NPM Registry Manager):npm源管理

//安装
npm i nrm -g
//查看可用源
nrm ls
//切换源
nrm use taobao
//测试速度
nrm test

2.5 NPX

NPX(NPM Package Extention):npm包扩展

可以直接使用,没有就全局安装
调用项目内部安装的模块

直接调用命令

//本地安装gulp用于测试功能 - 其他的也可以
npm i gulp -D
//查看gulp版本 - 由于gulp非全局安装没有gulp这个命令
npx gulp -v
不用脚本与读取具体可执行文件

临时安装
默认:当没有包但是用npx执行了其命令,npx会将其下载到一个临时文件,执行结束再删除

//强制使用本地模块,不进行下载操作
npx --no-install package
//忽略本地的同名模块,强制安装使用远程模块
npx --ignore-existong package

你可能感兴趣的:(包管理npmnvm)