nodejs&es6 模块操作

nodejs 模块

  1. 字符串
// 暴露 
module.exports = '宫鑫'

// 导入模块(导入js,不用加后缀)
const test = require('./test');
console.log(test)
// => 宫鑫
  1. 暴露一个对象
// 暴露 (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.jstest.jsindex.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(){ ... }





基本上就这些啦;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章