当前位置: 首页> 汽车> 车展 > 上海小程序网站开发公司_网页设计培训学费多少_网站改版_网站建设培训

上海小程序网站开发公司_网页设计培训学费多少_网站改版_网站建设培训

时间:2025/7/11 21:24:38来源:https://blog.csdn.net/u011159821/article/details/143324179 浏览次数: 0次
上海小程序网站开发公司_网页设计培训学费多少_网站改版_网站建设培训

补充知识点:模块规范 (及格式)
当下主流模块规范:CommonJSAMDUMDCMDESM

模块规范

1. CommonJS

维度内容
特点采用同步加载模块,适合在服务器端使用(如Node.js)。
使用require导入模块,使用module.exports导出模块。
场景主要用于Node.js环境,适合后端开发。
优点简单易懂,适合服务器端的模块化。
缺点不支持异步加载,不适合浏览器环境。
  • 示例:
// module.js - 定义模块
const hello = () => 'Hello, world!';
module.exports = hello;// main.js - 加载模块
const hello = require('./module');
console.log(hello()); // 输出: Hello, world!

2. AMD

全称:Asynchronous Module Definition -> 异步模块定义

维度内容
特点异步加载模块,适合浏览器环境
使用define定义模块,使用require加载模块。
场景适用于需要异步加载浏览器项目
优点支持异步加载,提高性能。
缺点语法较复杂,配置较多。
  • 示例:
// module.js - 定义模块
define([], function() {return function() {console.log('Hello from AMD!');};
});// main.js - 加载模块
require(['module'], function(myModule) {myModule();
});

3. UMD

全称:Universal Module Definition -> 通用模块定义

维度内容
特点结合了CommonJSAMD,支持多种环境(浏览器Node.js)。
使用(function (root, factory) {...})(this, factory)模式。
场景用于框架,可以在多种环境中使用。
优点灵活,兼容性强。
缺点代码较冗长,增加了复杂性。
  • 示例:
// myLibrary.js
(function (root, factory) {if (typeof define === 'function' && define.amd) {define([], factory);} else if (typeof exports === 'object') {module.exports = factory();} else {root.myLibrary = factory();}
}(this, function () {return function() {console.log('Hello from UMD!');};
}));// 使用
const myLibrary = require('./myLibrary');
myLibrary();

4. CMD

全称:Common Module Definition -> 公共模块定义

维度内容
特点异步加载,灵感来自AMD,但更注重依赖的执行顺序。
使用define定义模块,采用惰性加载
场景主要用于Sea.js框架的项目。
优点支持惰性加载,依赖处理更灵活。
缺点生态相对较小,社区支持有限。
  • 示例:
// module.js
define(function(require, exports, module) {module.exports = function() {console.log('Hello from CMD!');};
});// main.js
define(function(require) {var myModule = require('./module');myModule();
});

5. ESM (ES Modules)

ES6 moduleES Modules 实际上是指同一种模块化机制

  • ES6 Module: 是对 ECMAScript 2015(也称为 ES6)中引入的模块系统的简称。它包含了importexport语法,用于实现模块化。
  • ES Modules: 是对 ES6 Module正式称呼,通常用于指代现代 JavaScript 中的模块系统。它代表的是一组与模块相关的规范和功能。
维度内容
特点原生支持模块化,使用importexport语法。
支持异步加载,浏览器原生支持
场景现代JavaScript项目,浏览器Node.js都支持。
优点语法简洁,支持静态分析,性能优越。
缺点需要较新版本的浏览器Node.js旧环境不支持
  • 示例:
// module.js
export function greet() {console.log('Hello from ES Modules!');
}// main.js
import { greet } from './module.js';
greet();
关键字:上海小程序网站开发公司_网页设计培训学费多少_网站改版_网站建设培训

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: