node.js
模块导入和导出
index.js
let a = require('./index1')
//1.在没有任何内容导出去的情况下获取某个文件的内容,会得到一个空对象
//得到的对象是exports这个对象
console.log(a);
index1.js
let a = 123;
let b = 456;
//exports就是默认导出的对象
exports.a = a;
Commonjs规范
module
index.js
let a = require('./index1.js')
//1.在没有任何内容导出去的情况下获取某个文件的内容,会得到一个空对象
//2.require获取文件路径时,可以不加后缀名,默认后缀名是js
//得到的对象是exports这个对象
console.log(a);
index1.js
let a = 123;
let b = 456;
let c = 789;
//exports就是默认导出的对象
exports.a = a;
module.exports.c = c;
// 系统默认设置了:exports = module.exports
结果依旧是
但是如果改变一下index1.js
let a = 123;
let b = 456;
let c = 789;
//exports就是默认导出的对象
exports.a = a;
module.exports.c = c;
// 系统默认设置了:exports = module.exports;
module.exports = {
user:"小林"
}
index.js
let a = require('./index1.js')
//1.在没有任何内容导出去的情况下获取某个文件的内容,会得到一个空对象
//2.require获取文件路径时,可以不加后缀名,默认后缀名是js
//得到的对象是exports这个对象
//仅在模块第一次被使用时执行一次
let b = require('./index1.js')
console.log(a);
console.log(b);
console.log(a == b);
index1.js
let a = 123;
let b = 456;
let c = 789;
let s1 = {username:"学生"}
console.log(s1);
//exports就是默认导出的对象
exports.a = a;
module.exports.c = c;
// 系统默认设置了:exports = module.exports;
module.exports = s1;