主要观点总结
本文介绍了Node.js的多进程和多线程模型,以及在不同情况下使用多进程和多线程的优势和注意事项。同时,文章还探讨了Node.js的异常处理机制,包括如何处理未捕获的异常和未处理的Promise拒绝。此外,文章还介绍了使用第三方模块管理依赖和配置的方法,以及如何在Node.js中进行项目管理,包括多环境配置和依赖管理。
关键观点总结
关键观点1: 多进程和多线程模型
Node.js的child_process和cluster模块提供了多进程模型,而worker_threads模块提供了多线程模型。在Node.js中,多进程模型通常用于模拟多线程模型,而真正的多线程模型则需要在Node.js 10.5.0版本之后使用worker_threads模块。
关键观点2: 异常处理
Node.js提供了几种异常处理机制,包括使用process.on('uncaughtException')和process.on('unhandledRejection')处理未捕获的异常和未处理的Promise拒绝。同时,可以通过domain模块创建实例来覆盖错误,使得在回调中导致的错误能够被捕获和处理。
关键观点3: 依赖和项目管理
在Node.js中,可以使用dependencies、devDependencies和optionalDependencies来管理项目的依赖,其中dependencies是模块正常运行需要的依赖,devDependencies是开发时需要的依赖,optionalDependencies是非必要依赖。同时,可以使用第三方模块管理依赖和配置,如nconf。
关键观点4: 多环境配置
在Node.js中,可以使用JSON配置文件和环境变量进行多环境配置,以便在不同的环境中使用不同的配置。同时,可以使用第三方模块管理配置,如nconf。
文章预览
点击上方 前端Q ,关注公众号 回复 加群 ,加入前端Q技术交流群 安装 # 使用 nvm 安装 https://github.com/creationix/nvm #install-script # Git install nvm install nvm alias default # 卸载 pkg 安装版 sudo rm -rf /usr/ local /{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 全局变量 require(id) 内建模块直接从内存加载 文件模块通过文件查找定位到文件 包通过 package.json 里面的 main 字段查找入口文件 module.exports // 通过如下模块包装得到 (funciton (exports, require, module, __filename, __dirname) { // 包装头 }); // 包装尾 JSON 文件 通过 fs.readFileSync() 加载 通过 JSON.parse() 解析 加载大文件 require 成功后会缓存文件 大量使用会导致大量数据驻留在内存中,导致 GC 频分和内存泄露 module.exports 和 exports 执行时 (funciton(exports, require, module, __filename, __dirname) { // 包装头 console.log(
………………………………