前端模块化概念及规范之一commonjs

模块(包)node

  首先须要安装node.js(去官方网站下载)浏览器

  传统开发   缓存

    <script src="app.js"><script>
      整个网页写了一个js文件 全部的特效都在里面
      缺点:耦合度过高代码之间的关联性太强,不便于后期维护 会形成全局污染

    <script src="01.js"><script>
    <script src="02.js"><script>
    <script src="02.js"><script>
    <script src="02.js"><script>服务器

      引用多个js文件
      这种写法的弊端 发生的请求次数过多,依赖模糊,难于维护app

  模块化开发模块化

    什么是模块化?   函数

      将一个复杂的程序依据必定的规则(规范)封装成几个块(文件), 并进行组合在一块儿网站

      块的内部数据与实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通讯ui

    为何使用模块化?                                        spa

      • 避免命名冲突(减小命名空间污染)
      • 更好的分离, 按需加载
      • 更高复用性  
      • 高可维护性

  模块化规范

    CommonJS 

      概述:

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

      特色:       

        • 全部代码都运行在模块做用域,不会污染全局做用域。
        • 模块能够屡次加载,可是只会在第一次加载时运行一次,而后运行结果就被缓存了,之后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。
        • 模块加载的顺序,按照其在代码中出现的顺序。

      基本语法:

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

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

                    

相关文章
相关标签/搜索