美文网首页前端工程化
前端模块化(AMD,CMD,CommonJs,ES6)

前端模块化(AMD,CMD,CommonJs,ES6)

作者: 郝同学1208 | 来源:发表于2022-07-26 15:54 被阅读0次

文章序

总是会看到前端模块化的这几个技术,今天一次性整理,如有错误欢迎评论指正!

AMD

异步加载,依赖前置,前置依赖建议写在前引用,在所有模块加载完成后立即执行回调函数,用户体验好,不容易造成卡顿
需要引用require.js

//main.js
require.config({
  baseUrl: 'src/lib/js',
  paths: {
    'jquery': 'jquery.min',
    'lodash': 'lodash.min',
  }
}
require(['use'], function() {
  console.log('some code here');
});

//math.js
define(['lodash'], function (_) {
  function add(a, b) {
    return _.add(a, b);
  }
  return { add };
});

//use.js
require(['jquery', 'math'], function ($, math) {
  $('#sum').html = math.add(1, 2);
});

CMD

异步加载,依赖就近,按需加载,在require引用的地方执行代码,性能好
需要引用sea.js

//math.js
define(function(require, exports, module) {
  let $ = require('jquery.js');
  let add = fucntion(a, b) {
    return a + b;
  }
  exports.add = add;
}

//use.js
define(function(require, exports, module) {
  let math = require('./math');
  const res = math.add(1, 2);
}

CommonJs

同步加载,运行时加载执行,容易阻塞进程,造成卡顿,一般用在服务端Node开发中,输出拷贝值,原始值改变不影响引用值
需要引用node.js

//math.js
module.exports = {
  add: function(a, b) {
    return a + b;
  }
}

//use.js
const math = require('./math.js');
const res = math.add(1, 2);

ES6

同步加载,编译时加载执行,因此必须放在代码块最顶层,输出原始值的引用,因此原始值改变会影响引用值
需要使用ES6标准

//math.js
const add = function(a, b) {
  return a + b;
}
export { add };

//use.js
import { add } from './math';

const res = add(1, 2);

相关文章

  • 前端模块化:ES6,CommonJS

    前端模块化 共有四种规范 ES6 Module CommonJS AMD CMD ES6 Module ES6模块...

  • JS模块化

    模块化规范:CommonJS,AMD,CMD,UMD,ES6 Module CommonJS CommonJS是服...

  • 归档

    AMD、CMD、CommonJs、ES6的对比 他们都是用于在模块化定义中使用的,AMD、CMD、CommonJs...

  • 前端模块化

    什么是前端模块化? 前端为什么需要模块化? CommonJS、AMD、ES6、CMD区别是什么? 一、什么是模块化...

  • 通过 babel 体验 ES6 模块化

    原文: 一篇理解前端模块化:AMD、CMD、CommonJS、ES6[https://mp.weixin.qq.c...

  • ES6模块化

    模块化技术有哪些:- CommonJS(nodejs)、ES6模块化、AMD、CMD等 CommonJS:Comm...

  • js模块化

    js的模块化大致分为4种规范 amd cmd commonjs 和es6模块化 1.amd规范 amd规范又叫异步...

  • AMD、CMD、CommonJs、ES6的对比

    原文地址 AMD、CMD、CommonJs、ES6的对比 他们都是用于在模块化定义中使用的,AMD、CMD、Com...

  • 好程序员web前端教程分享js中的模块化一

    好程序员web前端教程分享js中的模块化一:我们知道最常见的模块化方案有CommonJS、AMD、CMD、ES6,...

  • js模块化规范

    一、js模块化1、模块化规范: script CommonJS AMD CMD ES6 modules 2、scr...

网友评论

    本文标题:前端模块化(AMD,CMD,CommonJs,ES6)

    本文链接:https://www.haomeiwen.com/subject/lfpoirtx.html