# Node.js

# Node.js 是什么?

Node.js 是一个开源与跨平台的 JavaScript 运行时环境,它在浏览器外运行一个 V8 JavaScript 引擎

# 常用NPM包介绍

lodash - 常用工具函数集合

chalk - 终端字符串美化 kolorist - 终端美化 commander- 命令行参数处理工具

moment - date format 日期格式化 dayjs - date format 日期格式化

request - HTTP Client axios - HTTP Client cheerio - jQuery 服务端实现 常用于爬虫

express - web server 框架 koa - web server 框架 @nestjs/cli - web server 脚手架

cropperjs - image cropper

node-pre-gyp 和 node-gyp。他们究竟是什么呢?

node-gyp 是一个跨平台的命令行工具,用于编译 C++编写的 nodejs 扩展,首先 gyp 是为 Chromium 项目创建的项目生成工具,可以从平台无关的配置生成平台相关的 Visual Studio、Xcode、Makefile 的项目文件,node-gyp 就是将其集成到 nodejs 中。

因为 linux 的二进制分发快平台做的并不好,所有npm 为了方便干脆就直接源码分发,用户装的时候再现场编译。不过对有些项目二进制分发就比源码分发简单多了,所以还有个 node-pre-gyp 来直接二进制扩展的分发。

两者区别在于 node-gyp 是发布扩展的源码,然后安装时候编译;node-pre-gyp 是直接发布编译后的二级制形式的扩展。