记:项目架构中常用的小工具

cheerio

在node端,像使用jquery那样操作dom

 var fileitem = fs.readFileSync(newformDirPath);
var $ = cheerio.load(fileitem.toString());
$.html() // 整个页面的html
$('.app').html(); // app里面的html
                

nodemon

nodemon是一种工具,可以自动检测到目录中的文件更改时通过重新启动应用程序来调试基于node.js的应用程序,开发的时候每一次修改,nodemon会及时的将文件更新,非常方便,

package.json
nodemon ./src/js/index.js

配置文件:nodemon.json
{
  "restartable": "nv",
  "delay": 1000,
  "colours": false,
  "verbose": true,
  "ignore": [
    "./node_modules","./dist"
  ],
  "watch": [
    "src/*.js","src/*.html"
  ],
  "events": {
    "restart": ""
  },
  "execMap": {
    "js": "npm run build"
  },
  "ext": "js, json",
  "env": {
    "NODE_ENV": "development",
    "PORT": "3000"
  }
}

rimraf

rimraf 的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除

rimraf ./dist

browserify

可以让你使用类似于 node 的 require() 的方式来组织浏览器端的 Javascript 代码

// package.json  将./src/js/index.js里的require解析成浏览器能识别的代码放在lib/index.js里面
"browserify": "browserify ./src/js/index.js  -o lib/index.js",

babel

可以将es6语法解析成es5语法
用法可以查询官网.通常项目架构中用的很多.

chalk-pipe

使用更简单的样式字符串创建粉笔样式方案

chalk

正确处理终端字符串样式

Commander.js

完整的 node.js 命令行解决方案

Inquirer.js

一组通用的交互式命令行用户界面。

slash

系统路径符处理

minimist

解析参数选项

dotenv

将环境变量从 .env文件加载到process.env中

dotenv-expand

扩展计算机上已经存在的环境变量

hash-sum

非常快的唯一哈希生成器

deepmerge

深度合并两个或多个对象的可枚举属性。

yaml-front-matter

解析yaml或json

resolve

实现node的 require.resolve()算法,这样就可以异步和同步地使用require.resolve()代表文件

semver

npm的语义版本器

leven

测量两字符串之间的差异
最快的JS实现之一

lru-cache

删除最近最少使用的项的缓存对象
portfinder 自动寻找 8000至65535内可用端口号

ora

优雅的终端转轮

Gulp

gulp是基于流的自动化构建工具,除了管理和执行任务,还支持监听读写文件。

Grunt

Grunt是一个JavaScript任务运行器,本身就使用JavaScript开发,灵活的管理任务间的依赖和 执行定义的任务

envinfo

生成故障排除软件问题(如操作系统、二进制版本、浏览器、已安装语言等)时所需的通用详细信息的报告

memfs

内存文件系统与Node’s fs API相同实现

execa

针对人类的流程执行

webpack-merge

用于连接数组和合并对象,从而创建一个新对象

webpack-chain

使用链式API去生成简化webpack版本配置的修改

strip-ansi

从字符串中去掉ANSI转义码

address

获取当前机器的IP, MAC和DNS服务器。

default-gateway

通过对OS路由接口的exec调用获得机器的默认网关

joi

JavaScript最强大的模式描述语言和数据验证器。

fs-extra

添加了未包含在原生fs模块中的文件系统方法,并向fs方法添加了promise支持

Acorn

一个小而快速的JavaScript解析器,完全用JavaScript编写。

zlib.js

ZLIB.js是ZLIB(RFC1950), DEFLATE(RFC1951), GZIP(RFC1952)和PKZIP在JavaScript实现。

fis3

FIS3 面向前端的工程构建系统。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题。

rollup

专注于ES6模块化,可将一小段代码编译成更大或更复杂的内容,例如库或应用程序。

webpack

Webpack 是一个模块打包器。它的主要目的是捆绑 JavaScript 文件以在浏览器中使用,但它也能够转换、捆绑或打包几乎任何资源或资产

parcel

Parcel 是一个零配置的网络构建工具。它将开箱即用的出色开发体验与可扩展的架构相结合,可以将您的项目从刚刚开始转变为大规模生产应用程序。

vite

一个通过原生 ES 模块为您的源文件提供服务的开发服务器,具有丰富的内置功能和惊人的快速热模块替换 (HMR)。
一个构建命令,将您的代码与Rollup捆绑在一起,预先配置为输出高度优化的静态资产以用于生产。

yuicompressor

YUI Compressor 是一个 JavaScript 压缩器,除了删除注释和空格外,它还使用尽可能小的变量名来混淆局部变量。这种混淆是安全的,即使使用诸如 ‘eval’ 或 ‘with’ 之类的构造(尽管在这些情况下压缩不是最佳的)与 jsmin 相比,平均节省大约 20%。
YUI Compressor 还能够安全地压缩 CSS 文件。根据文件扩展名(js 或 css)决定使用哪个压缩器

你可能感兴趣的:(node,架构,前端)