• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ellaha
博客园    首页    新随笔    联系   管理    订阅  订阅
Node.js之包命令(npm和yarn)

NPM (node.js package management)

全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Node.js的包管理工具。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

npm作用

npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种:

  • 允许用户从 npm 服务器下载别人编写的第三方包到本地使用
  • 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用
  • 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用

npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。

npm包安装方式

  • 本地安装

  • 全局安装

 解决npm安装包被墙的问题

  •  --registry
    •  npm config set registry=https//registry.npm.taobao.org
  •  cnpm
    • 淘宝NPM镜像,与官方NPM的同步频率目前为10分钟一次
    • 官网: http://npm.taobao.org/
    •  npm install -g cnpm –registry=https//registry.npm.taobao.org
    • 使用cnpm安装包: cnpm install 包名
  • nrm
    • 作用:修改镜像源
    • 项目地址:https://www.npmjs.com/package/nrm
    • 安装:npm install -g nrm

npm常用命令

  • 安装包
    • 全局安装的包位于 Node.js环境的node_module目录下,全局安装的包一般用于命令行工具
    • 本地安装的包在当前目录下的node_modules里面,本地安装的包一般用于开发某种具体的功能,本地写的代码也应该做成一个比较规范的包,方便代码的重用
    • npm install -g 包名称 全局安装
    • npm install 包名称@版本号 如果不指定版本号,则安装最新的包
  • 更新包
    • 卸载 npm uninstall -g 包名称
  • 卸载包

Markdown转成带目录的Html npm install -g i5ting_toc
命令i5ting_toc -f outline.md -o 进入到putline.md所在的文件夹下,输入此命令

dependencies 依赖

npm install 包名称 --save:向生产环境中添加依赖 dependencies,在package.json文件中dependencies

这个可以说是我们 npm 核心一项内容,依赖管理,这个对象里面的内容就是我们这个项目所依赖的 js 模块包。下面这段代码表示我们依赖了 markdown-it 这个包,版本是 ^8.1.0 ,代表最小依赖版本是 8.1.0 ,如果这个包有更新,那么当我们使用 npm install 命令的时候,npm 会帮我们下载最新的包。当别人引用我们这个包的时候,包内的依赖包也会被下载下来。

"dependencies": {
    "markdown-it": "^8.1.0"
}

devDependencies 开发依赖

npm install 包名称 --save-dev 在开发环境中添加依赖 ,在package.json文件中DevDependencies

"devDependencies": {
    "autoprefixer": "^6.4.0",0",
    "babel-preset-es2015": "^6.0.0",
    "babel-preset-stage-2": "^6.0.0",
    "babel-register": "^6.0.0",
    "webpack": "^1.13.2",
    "webpack-dev-middleware": "^1.8.3",
    "webpack-hot-middleware": "^2.12.2",
    "webpack-merge": "^0.14.1",
    "highlightjs": "^9.8.0"
}

将node_modules包删除,然后执行如下命令
npm install --production 只安装package.json中的dependencies的包
npm install 安装package.json中所有环境的包

自定义包

1,将hello.js文件生成包,进入到hello文件夹目录下,输入命令 node init -y,在此目录下生成一个package.json

 

 2,执行包的两种方式

  1. 默认命令 node .
  2. 修改test内容如下,然后执行命令 npm run test

 

包的规范

  • package.json必须在包的顶层目录下
  • 二进制文件应该在bin目录下
  • JavaScript代码应该在lib目录下
  • 文档应该在doc目录下
  • 单元测试应该在test目录下

package.json字段分析

  • name:包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格
  • description:包的简要说明
  • version:符合语义化版本识别规范的版本字符串
  • keywords:关键字数组,通常用于搜索
  • maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段
  • contributors:贡献者数组,格式与maintainers相同。包的作者应该是贡献者数组的第一- 个元素
  • bugs:提交bug的地址,可以是网站或者电子邮件地址
  • licenses:许可证数组,每个元素要包含type(许可证名称)和url(链接到许可证文本的- 地址)字段
  • repositories:仓库托管地址数组,每个元素要包含type(仓库类型,如git)、url(仓- 库的地址)和path(相对于仓库的路径,可选)字段
  • dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成
  • devDependencies:开发环境包的依赖,一个关联数组,由包的名称和版本号组成

yarn基本使用(类比npm基本使用)

  • 安装yarn工具
    • npm install -g yarn
    • yarn install -g
  • 初始化包
    • npm init -y
    • yarn init
  • 安装包
    • npm install  xx --save
    • yarn add xx (不需要加--save,会自动加上)
  • 移除包
    • npm uninstall xx 
    • yarn remove xx
  • 更新包
    • npm update xx
    • yarn update xx
  • 安装开发依赖的包
    • npm install xx --save-dev
    • yarn add xx -dev
  • 全局安装
    • npm install -g xx
    • yarn global add xx
  • 设置下载镜像地址
    • npm config set registry url
    • yarn config set registry url
  • 安装所有依赖
    • npm install
    • yarn install
  • 执行包
    • npm run
    • yarn run
posted on 2021-05-26 20:50  ellaha  阅读(578)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3