es6与node模块化加载的区别

2020-09-06  本文已影响0人  Petricor

node

在none中导入一个包(模块)的方式

// 引入node核心模块时 
const fs = require('fs')

// 引入自定义的模块时
const  名称 = require('路径')

Node 中向外暴露成员的形式:

// exportes ={ } 也能暴露,但是node中以module.exports  为准
module.exports = {}

在node中想要在一个模块中引入另一个模块中定义的方法或者变量 ,需要另一个模块先对外暴露该数据

es6

在 ES6中,也通过 规范的形式,规定了 ES6 中如何 导入 和 导出 模块ES6中导入模块

es6引入一个模块:

import 模块名称 from '模块标识符'  
// eg:引入该模块下的定义的数据
import { STATISTICSTYPE ,   CARD_TYPES , CARD_STATUS } from "@/utility/dict";

import '路径'

//一般情况下都是使用第一种方式操作

在 ES6 中,使用 export defaultexport 向外暴露成员

// `export` 向外暴露成员
export const STATISTICSTYPE = {
    日: "BY_WEEK",
    周: "BY_WEEK",
    月: "BY_MONTH",
    年: "BY_YEAR"
};
export const CARD_TYPES = {
    MONTH: "月卡",
    HALF_YEAR: "半年卡",
    DAY: "天卡",
    QUARTER: "季度卡",
    YEAR: "年卡"
};
export const CARD_STATUS = {
    USED: "已使用",
    UNUSED: "未使用"
};


// 使用 export default 
let setAgentCard  = { }
let = ()=>{ }


export default {
    getAdd ,
    setAgentCard
}



/*
[注意]: 使用 export 向外暴露的成员,只能使用 { } 的形式来接收,这种形式,叫做 【按需导出】
[注意]: export 可以向外暴露多个成员, 同时,如果某些成员,我们在 import 的时候,不需要,则可以 不在 {}  中定义
[注意]: 使用 export 导出的成员,必须严格按照 导出时候的名称,来使用  {}  按需接收;
[注意]: 使用 export 导出的成员,如果 就想 换个 名称来接收,可以使用 as 来起别名;   
例子: import m222, { title as title123, content } from './test.js'
*/
上一篇 下一篇

猜你喜欢

热点阅读