模块(包)

  首先需要安装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文件
      这种写法的弊端 发生的请求次数过多,依赖模糊,难于维护

  模块化开发

    什么是模块化?   

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

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

    为什么使用模块化?                                        

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

  模块化规范

    CommonJS

      概述:

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

      特点:       

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

      基本语法:

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

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

                    

      

          

转载于:https://www.cnblogs.com/gdqx/p/10967681.html

前端模块化概念及规范之一commonjs相关推荐

  1. 前端模块化(CommenJS规范、ES6规范)

    目录 1. 简介 2. CommonJS规范 3. ES6模块化规范 写法一 写法二(推荐) 1. 简介 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来 ...

  2. 前端模块化详解(完整版)

    前言 在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可:如今CPU.浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax ...

  3. 前端模块化CommonJS、AMD、CMD、ES6

    一.前端模块化 什么是模块化?为什么前端需要模块化? js代码量激增,放在同一个文件里面,不容易维护,而且牵一发而动全身. 这时候就需要将代码按照逻辑放在不同的文件里面,按照一定的语法规则,遵循特定的 ...

  4. 浅析:前端模块化开发规范

    浅析:前端模块化开发规范 早期的模块化解决方案 NameSpace:命名空间模式 匿名闭包:IIFE模式 模块模式:IIFE+依赖传参 ES6之前的模块化解决方案 CommonJS模块化规范 AMD模 ...

  5. 前端模块化详解(CommonJS、AMD、CMD、ES Module)

    大家好,我是一碗周,一个不想被喝(内卷)的前端.如果写的文章有幸可以得到你的青睐,万分有幸~ 写在前面 随着前端项目的不断复杂,代码日益膨胀,项目的维护难度随之越来越大,此时模块化也就相继的出现了,本 ...

  6. 前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS

    我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化.NodeJS诞生之后,它使用CommonJS的模块化规范.从此,js模块化开始快速发展. 模块化的开发方 ...

  7. 前端模块化 CommonJs、AMD、CMD、UMD、ESmodule 发展历程与关系

    前端模块化 发展过程 NodeJS之前,前端不存在模块化,后端有模块化. NodeJS诞生之后,它开始使用CommonJS模块化规范. 特点 一个文件就是一个模块,有自己的作用域,只向外暴漏特定的变量 ...

  8. 前端模块化,AMD与CMD的区别

    在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可:如今CPU.浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得 ...

  9. 模块化加载_前端模块化简单总结

    来源 | http://www.fly63.com/article/detial/9827 前言 JavaScript初期就是为了实现简单的页面交互逻辑,如今CPU.浏览器性能得到了极大的提升,很多页 ...

  10. [ES6] 细化ES6之 -- 前端模块化

    前端模块化 前言 前端开发领域发展到目前阶段: 零件化 - 最终呈现给用户是一个完整的产品(由各个零件组成的) 降低生产成本 – 多人协作(每个人各司其职) 降低使用成本 - 各个零件之间是低耦合的 ...

最新文章

  1. CodeGen用户定义的扩展令牌
  2. Contains Duplicate --包含相同值
  3. 使用react、antd组件报错TypeError: _this.formRef.current.validateFields is not a function
  4. linux系统服务器可能被攻击的几种攻击方式
  5. Extjs FormPanel/TabPanel/GridPanel混合
  6. idea 执行 java jar_idea打包java可执行jar包的实现步骤
  7. 【华为云技术分享】打卡APIG服务专享版,打造全栈API治理方案
  8. 母亲节html页面,[母亲节散分]模块化思想的重要性_html/css_WEB-ITnose
  9. 微机笔记——1.微型计算机概述
  10. 编写程序,用户输入一个位以上的整数,输出其百位以上的数字。例如用户输入1234.则程序输出12.
  11. c语言商品管理系统文件,c语言商品管理系统(文件应用).doc
  12. 小学生c语言入门教程,啊哈C语言(小学生坐在马桶上都能看懂C语言入门教程).pdf...
  13. c++ 三点求外接圆圆心 3维实现
  14. 使用WDF开发驱动程序
  15. mysql触发器new old用法详解
  16. 数据分析面试手册《指标篇》
  17. type-c速度测试软件,Type-C读写速度太慢 你真的使用了正确的方法了吗
  18. 海蜘蛛软路由linux安装教程,软路由安装设置教程【详细步骤】-太平洋IT百科
  19. Springboot+vue spring286小巨人图书销售购物商城#毕业设计
  20. DataTable数据过滤方法

热门文章

  1. HDU-1671 Phone List
  2. python + selenium 获取标签文本的为空解决办法
  3. curl如何发送json数据?如何发送form数据?python的restfull又该如何获取这些数据?...
  4. 20145304 第十周学习报告
  5. 深入解析Java中的装箱和拆箱
  6. Activator.CreateInstance 方法 (Type) 的用法
  7. 代码分享:JS判断登陆端是PC还是手机
  8. php 抽象类,接口,抽象方法,静态方法
  9. MySQL错误Another MySQL daemon already running with the same unix socket.
  10. POJ 334932742151184020022503