nodejs 模块
- 字符串
// 暴露
module.exports = '宫鑫'
// 导入模块(导入js,不用加后缀)
const test = require('./test');
console.log(test)
// => 宫鑫
- 暴露一个对象
// 暴露 (test.js)
module.exports = {
name: '宫鑫'
}
// 导入
const test = require('./test');
console.log(test)
// => {name: "宫鑫"}
Es6 模块语法
基础导入
import testName from './test';
//【test.js 导出】
module.exports = {
name: '宫鑫'
}
--------------------------------
// 【index.js 导入】
import testName from './test';
console.log(testName)
// => {name: "宫鑫"}
默认导出
// 【导出】 在 test.js文件,默认导出一个对象
export default {
name: '宫鑫'
}
// 【导入】
import testName from './test'
console.log(testName)
// => {name: "宫鑫"}
export default () => {
return '默认导出一个箭头函数';
}
按需导出
导出
【test.js】
export function fnName1 (){
return '按需导出 - 1';
}
export function fnName2 (){
return '按需导出 - 2'
}
导入
按需导出,导入的时候,用 对象的解构赋值 获取 {fnName1, fnName2}
【index.js】
import {fnName1, fnName2} from './test'
console.log(fnName1())
// => 按需导出 - 1
console.log(fnName2())
// => 按需导出 - 2
默认导出 + 按需导出
导出
【test.js】
// 默认导出
export default {
name: '宫鑫'
}
// 按需导出
export function fnName1 (){
return '按需导出 - 1';
}
export function fnName2 (){
return '按需导出 - 2'
}
导入
【index.js】
// testName: 接收默认导出
// {fnName1, fnName2} 解构接收按需导出的
import testName,{fnName1, fnName2} from './test';
console.log(testName);
// => {name: "宫鑫"}
console.log(fnName1());
// => 按需导出 - 1
console.log(fnName2());
// => 按需导出 - 2
文件1 -> 文件2 -> 文件3
现在有三个文件,分别是 gx.js
、test.js
、index.js
现在 gx.js
导出一个模块,test.js
导入,并且再次把这个模块导出出来,index.js
再导出;
【gx.js】
export function user() {
return {
name: '宫鑫'
}
}
【test.js】
// 导入 gx.js 文件的内容 并导出
export {
user
} from './gx'
【index.js】
import {user} from './test';
console.log(user)
// => function user(){ ... }
基本上就这些啦;