• module.exports 和 exports,export 和export default的区别


    1、module.exports 

    module变量代表当前模块。这个变量是一个对象,module对象会创建一个叫exports的属性,这个属性的默认值是一个空的对象:

    module.exports = {};

    module.exports.Name="我是电脑";
    module.exports.Say=function(){
      console.log("我可以干任何事情");  
    }
    
    
    //上边这段代码就相当于一个对象
    
    var person={
      "Name":" 我是电脑""Say"    :function(){
               console.log("我可以干任何事情");  
            }
    }
    module.exports=person;

    使用方法如下:

    var req=require("./app.js");
    
    req.Name      //这个值是 "我是电脑"
    req.Say()      //这个是直接调用Say方法,打印出来 "我可以干任何事情"

    2、exports 与 module.exports的关系

    Node为每个模块提供一个exports变量,指向module.exports。可以通俗的理解为:

    var exports = module.exports;
    
    //两个是相等的关系,但又不是绝对相当的关系
    例如:
    1.module.exports可以直接导出一个匿名函数或者一个值
    module.exports=function(){
      var a="Hello World"  
      return   a;
    }
    但是exports是不可以的,因为这样等于切断了exports与module.exports的联系。
    exports=function(){           //这样写法是错误的
      var a="Hello World"        //这样写法是错误的
      return   a;                //这样写法是错误的
    }                            //这样写法是错误的

    3、export和export default的区别

    export是es6引出的语法,用于导出模块中的变量,对象,函数,类。对应的导入关键字是import。

    二者的区别有以下几点:

    • export default在一个模块中只能有一个,当然也可以没有。export在一个模块中可以有多个。
    • export default的对象、变量、函数、类,可以没有名字。export的必须有名字。
    • export default对应的import和export有所区别
    1.export写法
    //./aap.js
    var name="我是电脑"var say=function(){
     console.log("我可以干很多事");
    }
    
    export {name,say};
    
    //也可以直接一个一个的export但是必须得有名字
    export const a=1;
    export function data(){
      return data;
    }
    
    
    //其他页面引入时必须这样
    import {name,say} from "./app.js"
    
    2.export default
    //app.js
    //可以没有函数名字
    export default function(){
      return data;
    }
    //这里export不能这样导出
    
    export default const a=12//应该这样导出
    const a=12;
    
    export default a
     
     
    
    //其他页面引入时必须这样
    import data from "./app.js"
  • 相关阅读:
    1.IntelliJ IDEA搭建SpringBoot的小Demo
    etc目录名字的意思---挖Linux中的古老缩略语
    CI当开启URL重写的时候,报错500 Internal Server Error
    app后端架构设计(转)
    Redis安装及主从配置
    ***Linux文件夹文件创建、删除、改名
    Redis中常用命令
    linux上ln链接命令详细说明
    Redis快速入门:安装、配置和操作
    redis的PHP扩展包安装方法
  • 原文地址:https://www.cnblogs.com/sure2016/p/10511879.html
Copyright © 2020-2023  润新知