es6 export和module.exports的用法

在es6中使用 export default 和 export 向外暴露

  1. 注意:export.default向外暴露的成员,可以使用任意变量来接收
  2. 注意:在一个模块中,export default只允许向外暴露一次
  3. 注意:在一个模块中,可以同时使用export default 和export 向外暴露成员
  4. 注意:使用 export 向外暴露的成员,只能使用 {} 的形式来接收,叫做 ----按需导出
  5. 注意:在一个模块中,export 可以向外暴露多个,
    同时,如果某些成员在import时,不需要 则可以不在 {} 中定义
  6. 注意;使用export导出的成员,必须严格按照 导出时候的名称,来使用 {} 按需接收
  7. 注意;使用export导出的成员,如果要换个名称,可以使用 as 起别名

导出多个

'use strict'
//导出变量
export const a = '100';  
 
 //导出方法
export const dogSay = function(){ 
    console.log('wang wang');
}
//导出函数
export function catSay(){
   console.log('miao miao'); 
}

//export catSay这样也行


//使用的地方倒入
// export导出的是多个,需要解构取值
import {a,dogSay,catSay} from 'url'




导出单个,默认导出

//export default导出
const m = 100;
export default m; 

//导入
import m from 'url'
//export defult const m = 100;// 不可以这样写
导出
const author = "不要秃头啊";

export const age = "18";
export default author;

导入
import author, { age } from "./name";

console.log(author, "author");
console.log(age, "age");

module.exports

module.exports 是 commonjs语法
node用这种语法
这种语法会让包体积变化,
不过,写代码不用考虑,扩展可以自己看看,下面链接
https://web.dev/i18n/zh/commonjs-larger-bundles/

代码案例

module.exports = { checkIDCIP };

const { checkIDCIP } = require('./utils');
require导入的内容是module.exports的指向的内存块内容,并不是exports的。
简而言之,区分他们之间的区别就是 exports 只是 module.exports的引用,

所以就别纠结,就用我案例这种就行

你可能感兴趣的:(js,javascript,前端,开发语言)