zoukankan      html  css  js  c++  java
  • 论AMD,CMD,CommonJs 和 ES6对比

    AMD
    AMD是RequireJS在推广的过程中对异步模块定义的规范化产出
    RequireJS可以动态的异步加载我们项目中的文件 例:

    define([‘package/lib’], function(lib){ 
      function foo(){
       lib.log(‘hello’);
      return {
       foo: foo
    };
    });
    

    使用package加载lib库 通过一个lib的回调函数来使用lib库中的方法,最后通过return来返回。
    CMD
    CMD是SeaJS(淘宝团队提出)在推广的过程中对同步模块定义的规范化产出。

    define(function(require,exports,module){
      //通过require 引入依赖(依赖就近原则)
      var $ = require(‘jquery’);
      var Spinning = require(‘./spinning’);
        }
    

    可以体现出CMD的即用即返回的同步概念.
    CommonJS
    CommonJS规范-module.exports (浏览器并不支持,但是在node.js后端会使用,服务端推荐CommonJS规范,前端推荐使用AMD,CMD的规范)

    export.area = function(v){
         return Math.PI*v;
    };
       export.circumference = function(v){
         return Math.PI/v;
    };
    

    除以上方法外,也可以通过module.exports匿名输出。
    ES6
    上面的AMD,CMD,CommoJs都是ES5里面的规范,下面的export/import是ES6里面的规范。通过export/import输入输出 例:

    export default {
          props:[“name”],
          data(){
             return{ }
          },
          methods:{
             increment(){
                this.$emit(“incre”);
                import(‘./../until’)
    },
             decrement(){
                this.$emit(“decre”);
    }
        }
    }
    
  • 相关阅读:
    angular js 删除及多条删除
    angular js 页面修改数据存入数据库
    angular js 页面添加数据保存数据库
    angular js 分页
    内置函数和匿名函数
    装饰器,迭代器,生成器
    函数的进阶
    函数
    文件操作
    列表,字典
  • 原文地址:https://www.cnblogs.com/supershuai/p/12458676.html
Copyright © 2011-2022 走看看