npm常用命令以及node相关工具汇总

71 阅读5分钟

它是一个事件驱动异步I/O单进程的服务端JS环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

  • 浏览器是JS的前端运行环境。
  • Node.js是JS的后端运行环境,在后端中运行无法调用 DOM 和 BOM 等浏览器内置 API。
  • nodejs调用服务查看服务器相关api gulp基础node环境

node应用场景

创建应用服务,web开发,接口开发,客户端应用工具 gulp webpack vue脚手架 react脚手架 小程序

nvm npm版本管理工具

nvm常见命令
命令功能
nvm list/nvm ls 查看安装的所有node版本
nvm list available查看可在线安装的node版本
nvm install latest安装最新node
nvm install 版本号安装指定版本
nvm use 版本号 使用当前版本
nvm uninstall 版本号卸载指定版本
npm常见命令
命令功能备注
npm initnpm init 命令用于初始化一个新的npm项目。它会引导你创建一个package.json文件,其中包含了项目的基本信息和依赖项。这个文件是项目的心脏,记录了项目的元数据和依赖关系。npm init -y (初始化package包)
npm config get registry查看当前镜像源
npm info 依赖名称查看当前依赖包信息
npm view 依赖名称 versions查看当前依赖版所有本号
npm install安装package中的依赖包npm install <package_name>
npm install -g <package_name>如果你想在全局范围内安装一个包,可以使用-g--global标志
npm install --save-dev <package_name>如果你安装的包仅用于开发环境,例如测试框架,你可以使用--save-dev-D标志。
npm install <package_name> --no-save默认情况下,npm install会将安装的包保存到package.json文件中。如果你想避免自动保存,可以使用--no-save标志。
npm uninstall <package_name>npm uninstall 命令用于从项目中移除依赖包。它会从package.json文件中删除指定的包,并卸载它。
npm uninstall --save <package_name>如果你想同时移除全局包和本地包,可以使用--save标志。
npm update更新所有依赖包npm update <pack_name> 更新指定依赖包
npm list列出当前项目中安装的包以及其依赖关系npm list --global 想查看全局安装的包列表,可以使用--global标志
npm search < query >搜索npm仓库中的包
npm view查看指定包的详细信息,包括版本、依赖、描述等
npm ls列出当前项目中安装的包的版本树
npm cache管理npm缓存npm cache clean --force 清理npm缓存,有时候清理缓存可以解决一些安装问题
npm config list查看所有的npm配置
npm config设置或者查看npm配置项npm config set < key > < value > (例如设置npm的镜像源为淘宝镜像:npm config set registry registry.npm.taobao.org)
npm help获取npm命令的帮助信息
npm version修改package.json文件中的版本号
npm publish将你的包发布到npm仓库在发布之前,确保你已经注册了npm账号,并且package.json文件中的信息是完整的。
npm login登陆npm账号
npm whoami查看当前登陆的npm账号信息
npm start命令用于启动一个Node.js应用程序。在package.jsonscripts部分定义启动脚本后,你可以使用此命令来运行应用程序。
npm run命令用于运行在package.json文件的scripts部分定义的脚本。你可以定义任何自定义脚本,并使用npm run来执行它们。npm run <script_name>
npm packnpm pack 命令用于打包项目中的包,生成一个tarball文件,用于分发或安装。
npm deupe命令用于减少依赖项的冗余,优化项目的依赖树
npm outdated检查项目中过时的依赖包
npm audit检查项目中的安全漏洞运行npm audit fix可以自动修复一些已知的安全问题
npm ci命令用于在连续集成环境中安装项目依赖。它会严格按照package-lock.json文件中的版本安装依赖,确保构建的一致性。
npm link创建一个符号连接,将本地的包链接到全局npm环境中
npm rebuildnpm rebuild 命令用于重建所有的依赖包,解决由于更新npm或node版本导致的依赖问题。
npm setnpm set 命令用于设置多个npm配置项。npm set < key > < value > < value > ...
npm get获取单个npm配置项的值。npm get < key >
npm ownernpm owner 命令用于管理包的所有权

上传自己的依赖包

  1. 编写一个js自定义模块并导出

    exports.myComputed=()=>{
        return '123'
    }
    
  2. 初始化包描述文件

    • npm init package.json
    { 
    "name": "包名", 
    "version": "版本", 
    "description": "module模块名", 
    "main": "文件(xx.js)",
    "scripts": { 
        "test": "make test" 
    }, 
    "repository": { 
        "type": "Git", 
        "url": "git+git地址" 
    }, 
    "keywords": [ 
        "demo" 
    ], 
    "author": "作者", 
    "license": "ISC", 
    "bugs": { 
        "url": "git地址" 
    }, 
    "homepage": "git地址", 
    }
    
  3. 登陆npm 账号

    • www.npmjs.com 上面的账号
    • npm adduser 之后会要求登录账号密码,邮箱
    • npm publish 发布包到npm里
  • 坑:403 Forbidden

    查看npm源:npm config get registry
    切换npm源方法一:npm config set registry http://registry.npmjs.org
    切换npm源方法二:nrm use npm
    

cross-env

运行跨平台设置 & 使用环境变量脚本
NODE_ENV环境变量将由 cross-env 设置 打印 process.env.NODE_ENV === 'production'

  1. 安装

    npm i cross-env -D

  2. 使用package.json

     {
        "scripts": {
            "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
        }
     }
    

NRM:镜像源管理工具

nrm是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换。

  • 全局安装: npm install -g nrm
  • 查看原: nrm ls
  • 切换源: nrm use 名称
  • 测试速度:nrm test

npx:npm package extention

npm 从5.2版开始,增加了 npx 命令。它有很多用处,本文介绍该命令的主要使用场景。
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下npm install -g npx

  1. 解决的问题
    调用项目内部安装的模块。比如,项目内部安装了Mocha。
    只能在项目脚本和 package.json 的scripts字段里面,如果想在命令行下调用,必须像下面这样

    项目的根目录下执行
    $ node-modules/.bin/mocha --version
    

    npx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。

    npx mocha --version
    运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。

    • 避免全局安装