/*
每一个 js 文件天生自带一个变量叫做 module
Module {
id: '.',
// 当前文件的存储路径
path: 'E:\\BK_GP_20\\05_第五周\\05_DAY\\01_代码\\05_自定义模块',
// 我向外暴露的内容, 我允许别人使用的我这个文件里的某些内容
exports: {},
// 哪些文件再引用着我
parent: null,
// 当前这个文件的文件名称(带有绝对路径)
filename: 'E:\\BK_GP_20\\05_第五周\\05_DAY\\01_代码\\05_自定义模块\\a.js',
// 我有没有被导入过
loaded: false,
// 我引用了哪些其他文件
children: [],
// 你下载的第三方模块的存储路径
paths: [
'E:\\BK_GP_20\\05_第五周\\05_DAY\\01_代码\\05_自定义模块\\node_modules',
'E:\\BK_GP_20\\05_第五周\\05_DAY\\01_代码\\node_modules',
'E:\\BK_GP_20\\05_第五周\\05_DAY\\node_modules',
'E:\\BK_GP_20\\05_第五周\\node_modules',
'E:\\BK_GP_20\\node_modules',
'E:\\node_modules'
]
}
*/
- 导出语法:
- 在一个文件中向外导出一些内容使用
- module.exports 想这个对象里面添加成员就可以
- 也可以直接把 module.exports 替换掉
- 导入语法:
- require(' 指定文件路径')
- 作用: 导入该文件( 路径后如果后缀是 .js 可以省略不写)
- 返回值:就是指定文件内部的 module.exports
// a.js
const num = 100
const boo = true
function timeA() { console.log('Function timeA in a.js.')}
function timeB() { console.log('Function timeB in a.js.')}
module.exports = {
timeA,
timeB // 对象简写形式
}
// b.js
module.exports = {
B_A () { console.log('Function B_A in b.js.')},
B_B () { console.log('Function B_B in b.js.')}
}
// index.js
const modA = require('./a.js') // 返回 { timeA, timeB }
modA.timeA() // Function timeA in a.js
const { B_A } = require('./b')
B_A() // Function B_A in b.js
-
CMD
define(function(require, exports, module){ require() module.exports = {} })