Node的模块机制

Time: 20190910

本文大纲

在这里插入图片描述

JS的逆袭

从JS诞生起,它主要活跃在两个很小的领域:

  • 表单验证
  • 网页特效

听闻开发JS的老哥只用了10天就完成了这门语言的构建,因此JS本身充满了各种陷阱。

这也是为什么很多人不建议将JS作为第一门学习的语言,因为可能会掌握的越深,对编程语言的理解越有偏差。

JS的发展,在Web2.0时代才真正展示出它的威力,它极大的丰富了网页使用体验,更多的用户需求在前端被满足,JS也开始一路迎来从工具类库–>组件(功能模块)–> 框架 (功能模块组织)–> 应用(业务模块组织)的跃迁。

JS的发展过程,是一路不断被类聚和抽象的过程。

这个过程,其实就是寻找它天然缺失的,模块化的过程。

模块化意味着代码的规范和有组织。而JS的灵活天性伴随着另一个描述:凌乱。

Node开启的是JS在后端大展拳脚的可能性。

CommonJS规范

愿景:JS可以在任何地方运行。

在CommonJS规范出现之前,JS的规范有如下几个缺陷:

  • 无模块系统
  • 标准库少
  • 无标准接口
  • 无包管理系统

CommonJS规范的出现,是为了赋予JS编写大型应用的能力。比如:

  • 服务端JS程序
  • 命令行工具
  • 桌面应用程序
  • 混合应用程序

CommonJS涵盖内容:

  • 模块
  • 二进制
  • Buffer
  • 字符集编码
  • IO流
  • 进程环境
  • 文件系统
  • 套接字
  • 单元测试
  • Web服务器网关接口
  • 包管理等

Node相当于是实践,CommonJS规范是理论,理论和规范是相辅相成的。

Node,浏览器,W3C,CommonJS, ES之间的关系

在这里插入图片描述
具体来说就是,Node借鉴CommonJS规范中的Modules规范,实现了易用的模块系统。NPM包管理系统实现了Packages规范,为开发Node应用程序提供了极大的助力。

CommonJS规范说明

TBD.

参考

《深入浅出Node.js》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值