zoukankan      html  css  js  c++  java
  • 模块化

    1.模块==包

     传统开发:

        (1)

            整个网页我们写一个js 文件,所有的特效都写在里面

          缺点:耦合度太高,代码关联性太强,不便于后期维护,会造成全局污染

      (2) 

            发送的请求次数过多,依赖模糊,难以维护

    2.使用模块化开发

      为什么使用模块化?

        减少代码之间的关联度,部署方便,更好的分离,按需加载,避免命名冲突,容易维护

    3.什么是模块化?

        Node自带的规范commonjs规范

                Commonjsnode的规范,运行在服务器端,不是浏览器端,如果使用在浏览器端,需要使用对该文件进行打包编译(借鉴工具 browserify  webpack gulp等)

          书写模块的时候,对外暴露借口  module.exports

       引入模块  require(路径)

          Commonjs暴露的本质是一个叫exports的对象

    Module.export={}exports.xxx=

          二者暴露的本质是一样的,都是暴露一个exports对象

     

          commonjsnode的规范但 他是同步加载的,同步加载在浏览器端是一个坑,只要一个环节卡主了,最后的就没法执行,所以不建议使用,如果非要使用就需要编辑打包

        CommonJS 

          概述:

            Node 应用由模块组成,采用 CommonJS 模块规范。每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。在服务器端,模块的加载是运行时同步加载的;在浏览器端,模块需要提前编译打包处理。(同步加载:只要有一个环节卡住了,后面就没法执行)

          特点:       所有代码都运行在模块作用域,不会污染全局作用域。模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。模块加载的顺序,按照其在代码中出现的顺序。

          基本语法:

            暴露模块    module.exports = value 或 exports.xxx = value

            引入模块    require(xxx) 如果是第三方模块,xxx为模块名;如果是自定义模块,则xxx为模块文件路径

        

  • 相关阅读:
    PS和AI软件差别
    JS实现转动随机数抽奖的特效代码
    项目---考评系统排课算法分析
    UVA 193 Graph Coloring 图染色 DFS 数据
    中英文对照 —— 法律
    中英文对照 —— 法律
    中英文对照 —— 电影与话剧、歌剧
    中英文对照 —— 电影与话剧、歌剧
    matlab 正态分布相关 API
    matlab 正态分布相关 API
  • 原文地址:https://www.cnblogs.com/diwangkaige/p/10967594.html
Copyright © 2011-2022 走看看