Node的模块化
文章目录
前言
node模块化:遵循了commonJS的规范,一个文件是一个模块。 nodeJS本身就自带模块化的思想 导入 (require)、导出 (module.exports)。 -js的模块化:指一个js文件里面引用另一个js文件 js模块化是由Es6出来时,才提出来的,但是由于浏览器兼容性问题,没有广泛使用开
一、node模块化是什么?
在node运行环境中执行的每一个js文件都叫做模块,当js’文件中需要引入另一个js文件时,就可以通过node模块化语法导入即可使用
二、node中模块大致分为三种类型
1.内置模块 fs http等可以直接引入使用
var fs=require("fs")
console.log(fs);//fs是node自带的系统模块 提供了很多文件操作的API
2.在线下载安装的模块 jQuery
代码如下(示例):
// 在终端 npm i jquery 会自动把jQuery 下载到本地
// 本地会多出一个文件夹和两个json文件
var $=require("jquery");
console.log($);
3.自定义模块
// 导入的时候需要使用相对路径导入(不能直接使用模块名)
// 模块中的代码只会在第一次的时候执行一次 重复导入不会重复执行
var mymoudle=require("./04mymodule.js")
console.log(mymoudle.fun());
4.node模块化导入模块和前端中script标签导入js文件有何区别
// 1.前端使用script标签导入多个js文件时,相当于把所有的js代码拼接到一起,共享一个全局作用域,所以导入时要注意变量重命名的问题和导入顺序先后的问题
// 2.后端:使用node模块化导入时,每一个模块的作用域是相互隔离的,不会发生相互干涉,所以导入时无需考虑变量名冲突和导入先后顺序问题
总结
三种模块类型:内置模块 下载安装的模块 自定义模块
// 内置模块和下载安装的模块导入时不需要写路径,自定义模块导入的时候需要写相对路径
// 在线下载安装的模块会自动下载node_modules目录下,下载时自动创建这个目录
// 模块中的代码只会在第一次导入时,执行一次,重复导入不会重复执行
// nodejs中的每个模块的作用域是相互隔离的导入时无需考虑变量名冲突和导入先后问题