zoukankan      html  css  js  c++  java
  • 前端的模块化

    1.前端的模块化

      js中提供了三种规范

      1.commonjs规范,代表就是nodejs  适合后台开发  因为是同步的 服务器的运行比较快等待时间不长,commonjs不适合用于前端,前端的客户端是浏览器,浏览器最求异步加载,浏览器不能等待太长时间。

      2. 前端模块的规范是Amd规范  代表就是requirejs,他是异步的,很多前端框架都是用的amd规范,比如jquery angular 等

      3.第三个模块化规范是es6

    2.模块化的操作

      1.commonjs的操作

        所有的模块化都是两个方向,暴露模块接口和引入模块。

        module.exports={}   暴露的是一个叫exports的对象

        require() 引入一个模块

        这是后台的规范,在nodejs环境可以直接运行,但是在客户端不能直接运行,需要对文件打包解析。webpack   gulp。

      拓展

        var a:

        var  a 就是声明一个变量a,就是浏览器往window上添加一个属性a。

    前端模块

      自定义前端模块

      案例分析

      定义一个a模块,没有任何依赖,定义一个b模块,这个模块依赖a模块,定义一个主文件index.js,依赖b模块。

      

    html文件

    注意事项

    依赖关系千万不能出错

    这种模块的缺点

    会发送多次请求,依赖关系不能放错顺序。

    3.前端模块化规范amd

    amd是前端模块化的一种规范,全称async module definition 异步模块加载机制,所以需要按照这个去定义模块和使用模块

    1.require提供了一个全局的方法  叫define() 用来定义模块

      定义模块分两种 1不依赖其他模块  2.依赖其他模块

      不依赖其他模块

     

      定义一个有依赖的模块

    如何使用这些模块

    在主文件中分两部分,一部分是配置模块     一部分是使用模块

  • 相关阅读:
    Windows_10 系统封装
    leetcode-75 颜色分类
    leetcode-922 按奇偶排序数组 II
    leetcode-905 按奇偶数排序
    UVA-10827 环面上的最大子矩阵和
    leetcode918 环形最大子数组
    leetcode-85 最大矩形
    leetcode-84 柱状图中的最大矩形
    leetcode-221 最大正方形
    leetcode-713 乘积小于k的数组
  • 原文地址:https://www.cnblogs.com/guhuai/p/11134865.html
Copyright © 2011-2022 走看看