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 可以进行异步加载

  • 相关阅读:
    codevs 1102 采药 2005年NOIP全国联赛普及组
    codevs 1058 合唱队形 2004年NOIP全国联赛提高组
    动归题目
    友好城市//未测,不知对错
    codevs 1044 拦截导弹 1999年NOIP全国联赛提高组
    codevs 5294 挖地雷
    codevs 1576 最长严格上升子序列
    [BZOJ3289]Mato的文件管理
    [CodeVS1299]切水果
    [TYVJ1473]校门外的树3
  • 原文地址:https://www.cnblogs.com/jiumengmeng/p/8126815.html
Copyright © 2011-2022 走看看