梦想是一个天真的词, 实现梦想是一个残酷的词。
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第 3 天,点击查看活动详情
模块化
模块化是自顶向下逐层把系统分为若干模块来解决一个复杂问题。模块是可组合、分解和更换的单元。
- 代码进行模块化的好处
- 提高了代码的复用性
- 提高了代码的可维护性
- 实现按需加载
内置模块: 由 Node.js 官方提供的
- fs 模块
- path 模块
- http 模块
自定义模块:用户创建的每个.js文件都是自定义模块 ( require 加载模块时,可以省略.js后缀名)
第三方模块:第三方模块使用前需要先下载才能够使用
Node.js 模块化
Node.js 遵循 CommonnJS 模块化规范,CommonnJS 规定了模块的特性和各模块之间如何相互依赖。
CommonnJS 规定:
①:每个模块内部,module 变量代表当前模块
②:module 变量是一个对象,它的exports属性是对外的接口
③:加载某个模块,就是加载该模块的 module.exports 属性。require() 方法用于加载模块
-
module 对象
在每个 .js 自定义模块中都有一个 module 对象,里面存储了和当前模块有关的信息。
require() 模块时,永远指向的是 module.exports 指向的对象。
默认情况下,exports 和 module.exports 指向同一个对象。
包
- 项目包:安装到 node_modules 目录中的包
- dependencies节点:专门记录使用 npm install 命令安装了哪些包(安装时加 -S 参数)
- devDependencies:只在项目开发阶段会用到的包,项目上线之后就不会用到(安装时加 -D 参数)
- 全局包:具有工具性质的包
npm 对包进行统一管理
package.json 文件,描述了项目中的配置信息。里面必须包含包的名字(name)、版本号(version)、入口(main)
(当下载包时,会出现下载速度慢的问题。这是由于网络传输需要经过漫长的海底光缆,想要解决这个问题可以通过淘宝 NPM 镜像服务器进行下载。)
# 查看当前的下包镜像源
npm config get registry
# 将下包的镜像源切换为淘宝镜像源
npm config set registry=https://registry.npm.taobao.org/
# 检查镜像源是否下载成功
npm config get registry
i5ting_toc:可以把 md 文档转换成 html 页面
i5ting_toc -f filename -o // -o表示转换完成用默认浏览器打开