# NPM 包管理器

NPM 包管理器允许用户将自己编写的通用包或 CLI 工具上传到 NPM 服务器,其他开发人员只需要下载并安装该 CLI 工具到本地即可使用。

需要注意的是 NPM 包的安装可以分为本地和全局两种方式。采用本地安装可以将发布的 CLI 工具加入到项目的开发态依赖列表。采用全局方式进行安装会将 NPM CLI 工具的命令链接到全局执行环境。

温馨提示:采用本地安装更多的可能是在项目中配合 NPM 脚本使用,并且可固化工具的功能版本。采用全局安装更多的是进行类似初始化的功能,例如 vue-cli、create-react-app、express-generator 等,此时 Node 脚本不会植入到项目中,而是存放在操作系统的用户文件夹中。

# 学习资源

通过学习 npm 包,取长补短,进阶 nodeJS

小而美的 NPM 包

# 分类

# 1.now

# 2.cross-env

  • yarn add cross-env --dev

# 3.moment

日期时间处理

# 4.lodash

js 工具库

# 5.pm2

  • 全局安装 npm i -g pm2
  • 守护进程运行 cross-env NODE_ENV=production pm2 start app.js
pm2 list // 查看管理的进程
pm2 stop all // 停止所有进程
pm2 delete all // 删除所有进程
1
2
3

# 6、superagent

是个 http 方面的库,可以发起 get 或 post 请求

# 7、cheerio

大家可以理解成一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的。

# 8、eventproxy

  • 用 js 写过异步的同学应该都知道,如果你要并发异步获取两三个地址的数据,并且要在获取到数据之后,对这些数据一起进行利用的话,常规的写法是自己维护一个计数器。

  • 先定义一个 var count = 0,然后每次抓取成功以后,就 count++。如果你是要抓取三个源的数据,由于你根本不知道这些异步操作到底谁先完成,那么每次当抓取成功的时候,就判断一下 count === 3。当值为真时,使用另一个函数继续完成操作。

  • 而 eventproxy 就起到了这个计数器的作用,它来帮你管理到底这些异步操作是否完成,完成之后,它会自动调用你提供的处理函数,并将抓取到的数据当参数传过来。

  • eventproxy

# 9、async

# 10、coordtransform

一个提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和 WGS84 坐标系之间的转换的工具模块。

import coordtransform from 'coordtransform';
// 转高德坐标系
function transformPosition(coordinateSystem, longitude, latitude) {
  switch (coordinateSystem) {
    case 'WGS_84': {
      return coordtransform.wgs84togcj02(longitude, latitude);
    }
    case 'BD_09': {
      return coordtransform.bd09togcj02(longitude, latitude);
    }
    default: {
      return [longitude, latitude];
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 11、font-spider(字蛛)

字蛛是一个智能 WebFont 压缩工具,它能自动分析出页面使用的 WebFont 并进行按需压缩。

  1. 压缩字体:智能删除没有被使用的字形数据,大幅度减少字体体积
  2. 生成字体:支持 woff2、woff、eot、svg 字体格式生成

# 12、glob

用来同步获取文件

import * as glob from 'glob';
const files = glob.sync('*/', { cwd: absDir });
1
2

# 13、Inquirer

NodeJs 交互式命令行工具 Inquirer.js

# 14、React-ace

Ace 是一个用 JavaScript 编写的可嵌入代码编辑器。它与 Sublime,Vim 和 TextMate 等本机编辑器的功能和性能相匹配。它可以轻松地嵌入任何网页和 JavaScript 应用程序中,React-Ace 是 Ace 的 react 封装版本,使用简单,方便配合 form 表单使用。

Last Updated: 4/1/2024, 4:22:43 PM