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(){ ... }
基本上就這些啦;