zoukankan      html  css  js  c++  java
  • nodeJS里面的模块化

    理解 this

    打开cmd,执行如下命令

    node
    console.log(this);

    输出如上信息,表示this是global,每个电脑的配置信息不一样的话,可能会有所差别的。

    然后新建一个文件,写下如下代码,

    console.log(this)
    

    使用node命名执行你的文件,发现会输出:{}

    this表示你当前操作的模块

    理解 arguments

    然后新建一个文件,写下如下代码,

    console.log(arguments)
    

     使用node命名执行你的文件,发现会输出:

    为什么能正确输出arguments呢,不是函数里面才有arguments吗?可是代码中没有看见跟函数有关的任何代码呀?

    其实每个文件都是一个模块,模块中的代码默认就在闭包函数里面。默认的函数代码如下:

    (function (exports, require, module, __filename, __dirname) {})()

    我们发现还传入了一些参数,看看去是不是很眼熟呀!这里就不再介绍了,因为地球人都知道。。。。

    nodeJS里面的模块是基于commonJS规范实现的,原理是文件的读写,导出文件要使用exports、module.exports,引入文件用require

    每个文件就是一个模块

    每个文件里面的代码会用默认写在一个闭包函数里面,避免冲突

    问题

    为什么要实现模块化呢?模块化有什么好处,你还知道有哪些模块化?

    低耦合,高内聚:把实现相同功能的代码封装在一起,提高了重复利用率。

    方便维护:模块化的管理我们的代码,更佳人性化。

    防止代码冲突:通过闭包的形式来保护里面的变量不受外界的干扰

    常见的客户端模块有CMD和AMD

    CMD是就近依赖,AMD是依赖前置

  • 相关阅读:
    JAVA 正则表达式 (超详细)
    Windows命令-route
    Spring3 MVC请求参数获取的几种方法[转]
    Linux-支持中文
    Linux-Tmux使用初体验
    Linux命令-工作管理命令:&,ctrl+z,jobs,fg,bg
    Linux命令-服务管理命令:chkconfig
    Linux命令-文件系统常用命令:df,du,fsck,dumpe2fs
    Linux命令-用户管理:useradd,userdel,usermod,id,su,env,exit
    Linux命令-某个用户组下面的所有用户
  • 原文地址:https://www.cnblogs.com/wuxianqiang/p/8358493.html
Copyright © 2011-2022 走看看