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

    1、AMD(异步模块定义)

       是RequireJS在推广过程中对模块化定义的一个规范。

       AMD是一个规范,RequireJS是它的实现。

       RequireJS可以实现一个异步加载的功能,可以动态的异步的加载JS文件

       特点: 依赖前置,将依赖的包放在第一个数组参数中,通过参数接收,得到加载的需要用到的包。在定义的时候,将需要的包就定义好

       defined(['path/name'], function(package) {

        callBack

        });

    2、CMD(同步模块定义)

      是SeaJS在推广过程中对模块化定义的一个规范。

      CMD是一个规范,SeaJS是它的实现。

       SeaJS实现同步的,动态的加载JS文件

       特点: 依赖就近,在什么地方使用,在什么地方加载

       defined(function(require, exports, module) {

        let Jquery = require('jquery');

        });

      3、CommonJS

      是一个规范,通过module.exports实现,前端浏览器是不支持CommonJS规范的,CommonJS是在NodeJS中被服务器端支持的。

      功能: 划分模块

      语法:

      exports.packageName = function() {};

      //or 匿名输出

      module.exports =  {}

      通过require导入

       4、ES6导入导出

      1)、匿名导出

        默认,匿名输出

        export default {}

        //导入

        import name from './fileName'

      2)、具名导出

        export let something  = {} 

        导入的过程是一个解构的过程

        import {something } from './fileName'

        //导入也可以用另一种方式

        import  *  as  tool  from './fileName'

        可以通过tool.something 调用

        //import 可以进行异步加载

  • 相关阅读:
    ☆ [HDU2157] How many ways?? 「矩阵乘法求路径方案数」
    [HDU2065] "红色病毒"问题
    [SP1043] GSS1
    [POJ3233] Matrix Power Series
    「网络流24题」圆桌问题
    [BZOJ4260] Codechef REBXOR
    [HDU5536] Chip Factory
    ☆ [HDU4825] Xor Sum「最大异或和(Trie树)」
    「网络流24题」最长不下降子序列问题
    「网络流24题」试题库问题
  • 原文地址:https://www.cnblogs.com/jiumengmeng/p/8126815.html
Copyright © 2011-2022 走看看