在一个文件夹里创建2个 js 文件
- a.js
- index.js
每一个 js 文件天生自带一个变量叫做 module
console.log(module)
Module {
id: '.',
// 当前文件的存储路径
path: 'D:\\phpstudy\\WWW\\自定义',
// 我向外暴露的内容, 我允许别人使用的我这个文件里的某些内容
exports: {},
// 哪些文件再引用着我
parent: null,
// 当前这个文件的文件名称(带有绝对路径)
filename: 'D:\\phpstudy\\WWW\\自定义\\a.js',
// 我有没有被导入过
loaded: false,
// 我引用了哪些其他文件
children: [],
// 你下载的第三方模块的存储路径
paths: [
'D:\\phpstudy\\WWW\\自定义\\node_modules',
'D:\\phpstudy\\WWW\\node_modules',
'D:\\phpstudy\\node_modules',
'D:\\node_modules'
]
}
开始实战
a.js
导出语法:
在一个文件中向外导出一些内容使用
- module.exports 想这个对象里面添加成员就可以
- 也可以直接把 module.exports 替换掉
// 需要一些变量
const num = 100
const boo = true
function timeA() { console.log('a.js 下面的 timeA 函数') }
function timeB() { console.log('a.js 下面的 timeB 函数') }
// 需求: 我想把 timeA 和 timeB 向外开发, 别人引入 a.js 以后可以使用 timeA 和 timeB
module.exports = {
timeA,
timeB
}
index.js
我想使用 a.js 里面的内容
- 语法: require(‘指定文件路径’)
- 作用: 导入该文件(路径如果后缀是 .js 可以省略不写)
- 返回值: 就是指定文件内部的 module.exports
// 我需要使用 a.js 里面的 timeA 方法
const modA = require('./a.js')
// 使用
modA.timeA()