模块化就是将代码分割成不同的模块,便于复用和管理、按需加载
像内置fs模块,、moment 模块, 这些模块不是我们写的, 都是直接拿过来使用, 那么我们能不能自己写一个模块?答案当然是可以的!
一、commonJs模块化
1.模块引入require()
(注意:
①引入时使用 . 或 .. 开头的相对路径或/ 绝对路径,引入时可以不写文件后缀名
②如果没有指明路径,那就是加载核心模块或第三方模块,指明加载路径一般就是加载自 定义模块;
③而且不管加载什么模块,都是优先从缓存中加载:Node 加载模块时,如果这个模块经 被加载过了,则会直接缓存起来,将来再次引用时不会再次加加载这个模块
)
2.模块导出用module.exports=......
例子:
(自定义的module:tools.js)
(想在main.js中使用tools.js中定义的方法,首先的用require引入)
二、require和import的区别
require 和 import 分别是不同模块化规范下引入模块的语句