基于日渐丰富的Node.js生态系统,在日常开发工作中我们不必再去开发一些已经存在的库和工具,充分利用好社区中已有的NPM包,将会为我们开发项目带来极大的便利。Node.js已经走过了11个年头,现如今我们真正的站在了巨人肩上,本文分享我在日常开发中所接触或使用过的一些较为好用的NPM包。
前端工程开发
babel
一个 JavaScript 编译器,前端开发必备良药。
postcss
一个用 JavaScript 工具和插件转换 CSS 代码的工具,前端开发必备良药
uglify-js
压缩JavaScript必备,前端开发必备良药
clean-css
CSS压缩工具
cssnano
一个基于 PostCSS 的 CSS 合并压缩工具。
csso
CSSO(CSS优化器)是一个CSS压缩工具。它执行三种类型的转换:
- 清理(删除冗余)
- 压缩(替换为较短的形式)
- 重组(合并声明、规则集等等)
html-minifier
一个高度可配置的、经过良好测试的、基于JavaScript的HTML 压缩工具。
monaco-editor
Monaco Editor 是微软开源的基于 VS Code 的代码编辑器,运行在浏览器环境中。编辑器提供代码提示,智能建议等功能。可以跟codemirror之流的代码编辑器说再见了。
工具类
debug
调试工具,开发必备良药
glob
使用unix下shell所使用的模式来匹配文件
chokidar
对Node.js中fs.watch / fs.watchFile / FSEvents的一个封装,用来监听本地文件的修改变动。
commander
完整的 Node.js 命令行解决方案,灵感来自 Ruby 的 commander
minimist
轻量级的命令行参数解析引擎。对于完整命令行解决方案,用commander就好。
liftoff
也是一个命令行工具,可以方便的加载本地包来执行命令
osenv
查找基于不同操作系统的环境(变量)设置
dotenv
Dotenv是一个零依赖模块,它将环境变量从.env文件加载到process.env。将配置存储在独立于代码的环境中,基于The Twelve-Factor App这样一种规范。
chalk
终端字符样式工具
colors
同样是一个终端字符样式工具
color
用于不可变的颜色转换和操作,支持CSS颜色字符串
open
一个跨平台的,打开像URL,文件,可执行文件之类的工具
portfinder
在当前机器上查找可用开放端口的简单工具
mkdirp
unix shell下mkdir -p命令在Node.js中的实现
serialize-javascript
序列化 JavaScript 中包含正则表达式、日期和函数的JSON对象。
pako
pako是一个可以对内容进行压缩/解压的NPM包,它的主要代码借鉴zlib。(zlib在1995年发表,它的内部使用DEFLATE算法,而DEFLATE算法用到了Huffman算法和LZ77算法;每个语言都有zlib的实现,我们可以认为pako是zlib在js上的实现,pako中方法的参数都是参考zlib)。
lru-cache
LruCache采用的缓存算法为LRU(Least Recently Used),即最近最少使用算法。这一算法的核心思想是当缓存数据达到预设上限后,会优先淘汰近期最少使用的缓存对象。
打包工具
webpack
webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。
rollup
Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序。
gulp
基于任务的前端自动化构建工具
grunt
一个基于任务的JavaScript工程命令行构建工具
Stream相关
through2
Node.js转换流的一个封装
这篇文章目前没有评论