核心模块之外,npm & packages link modules together.
Common.js package 规范
Common.js是JS在后端应用的一个同步规范, 解决了缺乏模块系统、标准库较少、没有标准接口、缺乏包管理系统等问题,让JS成为了一个可以进行大型应用开发的语言
Common.js 的包规范即 require
**webpack、nodejs、npm 全都是 implement common.js 规范的
Package 结构
package一般是zip文件,解压后是一个目录
package目录包括:
Package.json
JSON格式,定义了npm的全部行为,位于根目录
必须的字段:
- name: 包名
- description:包简介
- version:版号
- keywords:关键词,帮助用户搜索到包
- maintainer: 维护者列表
- contributor:贡献者列表
-
dependencies:使用包的依赖列表
-
其他:bugs, licenses, repositories.
NPM
NPM实现common.js的包规范,帮助实现了第三方模块的发布,安装和依赖等
- 查看当前npm版本:$ npm -v
- 查看帮助:$ npm or $ npm help <command>
- 安装包:$ npm install ...
- install会自动创建node_modules目录,再在里面创建module的目录,并把包解压到这个目录
- 全局安装包:$ npm install -g ...
- 把包安装到一个统一的目录下
- 引入包:require('express') -- require通过路径分析找到express
AMD & CMD
Common.js 定义同步规范,AMD&CMD 定义异步规范
客户端同步调用依赖网速,可能会很慢
AMD将依赖模块的语句放在一个回调中,回调在加载完成之后才会执行,这样就可以通过异步的方式来加载模块
CMD和AMD相似,也是一个异步规范,解决了AMD存在的一些问题,CMD规范有更强的包容性和人性化!并且在应用上也更加地简单方便