假期愉快
放假,总是让人懒惰,作息不规律。
但,还是要学习呀。
今天看下nodejs和浏览器中运行的js有什么差异点。
在浏览器中
- 大多数时候js都是与 DOM 或其他 Web 平台 API(例如 Cookies)进行交互
- 不存在 Node.js 通过其模块提供的所有不错的 API,例如文件系统访问功能
- 无法选择访客会使用的浏览器,所以存在兼容性问题
- 由于浏览器发展缓慢,而js发展快速,所以会有不兼容的情况,所以需要通过babel 把高版本的ES6,7,8转为ES5,再交付给浏览器
- 正在实现 ES 模块标准,通过 import 导入模块
Node.js 中
- 没有浏览器提供的 document、window、以及所有其他的对象
- 可以控制运行环境,支持的所有现代的 ES6-7-8-9 JavaScript,不存在兼容性相关问题
- Nodejs中不需要通过babel编译js
- 使用 CommonJS 模块系统,通过require() 引入模块
NodeJs中一些好用的框架
- Express: 提供了创建 Web 服务器的最简单但功能最强大的方法之一。 它的极简主义方法,专注于服务器的核心功能,是其成功的关键。
- koa: 由 Express 背后的同一个团队构建,旨在变得更简单更轻巧。 新项目的诞生是为了满足创建不兼容的更改而又不破坏现有社区。
- NestJS: 一个基于 TypeScript 的渐进式 Node.js 框架,用于构建企业级的高效、可靠和可扩展的服务器端应用程序。
NestJS 确实挺好用的,很灵活,并且可以使用 TS 编写代码,各种npm很方便,但由于太灵活,所以没有一个整体的约束性,所以,不同的人,写出的程序可能会有差异。
若没有规范,没有注释,那么代码的可读性就会差很多。
好了,今天的分享就到这里。