0x00 序言
最近在学习Fabric的时候接触到许多JS技术,在这里对主流的JS技术做下记录。
0x01 前端模块化
前端模块化规范:CommonJs,AMD和CMD。其中,CommonJs用在服务器端,AMD和CMD用在浏览器环境。
- CommonJs以NodeJS为主要代表。
- AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。AMD规范采用提前执行(异步加载:依赖先执行)+延迟执行
- CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。CMD规范采用延迟执行(运行到需加载,根据顺序执行)
0x02 JS包管理工具npm
npm 的中方官网称npm为开发者打开了连接整个 JavaScript 天才世界的一扇大门。同时称npm是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使开发者能够轻松跟踪依赖项和版本。
npm 由三个独立的部分组成:
网站
注册表(registry)
命令行工具 (CLI)
- 网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
- 注册表 是一个巨大的数据库,保存了每个包(package)的信息。
- CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
npm的 默认配置文档:package.json
执行npm install默认会安装 dependencies 字段和 devDependencies 字段中的所有模块。 如果软件包具有 package-lock.json 或 shrinkwrap.json 文件,则依赖项的安装将由此驱动,如果两个文件都存在,则 npm-shrinkwrap.json 优先。
0x03 自动化构建工具gulp
gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。 在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这些规律,并编写 gulp 配置代码,可以让 gulp 自动执行这些“重复工作”。
gulp 默认配置文档:gulpfile.js
0x04 开发辅助工具nodemon模块
在NodeJS开发中,每次修改代码后,需要频繁的手动重新启动项目,非常的繁琐。若之后的每次代码修改都要重复这样的操作,势必会影响开发效率。nodemon模块会监测项目中的所有文件,一旦发现文件有改动,nodemon 将会自动重启应用。
nodemon默认配置文档:nodemon.json