引入
- 在Node环境中引入js文件时,需要使用关键字require
- 使用require来引入js文件。需要注意的是,通过require引入的js文件时,存在一个返回值,该返回值为一个对象,对象中的属性为js文件中的所有定义的属性
- 通过访问对象的属性可以得到js文件中定义的属性
- 需要注意的是,当导入js文件时,需要使用./或者…/的相对路径
导出
- 在Node中,每一个js文件都代表一个独立的作用域,无法直接被其他文件所引入,使用exports关键字来导出需要被引用的属性
模块module.js
exports.x = "引入x变量"
exports.y = "引入y变量"
exports.fun = function () {
console.log("引入的函数")
}
入口文件main.js
const obj = require('./module1')
console.log(obj.x)
console.log(obj.y)
obj.fun()
console.log(obj)
模块标识
- 模块分为两大类:核心模块与文件模块
- 核心模块指的是node自带的一些模块,在引用的时候可以直接通过名字来引用,不需要添加路径。例如:const fs = require(“fs”);
- 而文件模块指的是用户自定义的模块,在引入时必须添加相对路径
global
- global是在node环境中的全局对象,与网页中的window对象类似
- 在全局中创建的所有变量都是global的属性,在全局中创建的所有函数都是global的方法
node默认函数
- 在node环境下创建的所有方法与变量,都会默认放在一个函数的内部,这个函数是node默认创建的,在使用的时候并不会看见这一个函数,该函数为:
function (exports, require, module, __filename, __dirname) {
//向js文件写入的内容
}
- exports:对象,将内部所有的变量与方法暴露给其他文件调用
- require:函数,引入外部的模块文件
- module:指的是当前函数所在的模块文件。其中module.exports与exports一致,都可以讲内部的变量暴露给外部使用
- __filename:代表模块所在的完整路径
- __dirname:代表模块所处的文件夹的完整路径