分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

把自己的js模块兼容到AMD CMD CommonJS

发布时间:2023-09-06 01:25责任编辑:沈小雨关键词:js

   为了让同一个模块可以运行在前后端,在写作过程中需要考虑兼容前端也实现了模块规范的环境。为了保持前后端的一致性,类库开发者需要将类库代码包装在一个闭包内。以下代码演示如何将hello()方法定义到不同的运行环境中,它能够兼容Node(CommonJS),AMD,CMD以及常见的浏览器环境中:

(function (name, definition) { ???//检测上下文环境是否为AMD或CMD ???var hasDefine = typeof define === ‘function‘; ???//检查上下文环境是否为Node ???var hasExports = typeof module !== ‘undefined‘ && module.exports; ???if(hasDefine) { ???????//AMD环境或CMD环境 ???????define(definition); ???} else if(hasExports) { ???????//定义为普通Node模块 ???????module.exports = definition(); ???} else { ???????//将模块的执行结果挂在window变量中,在浏览器中this指向window对象 ???????this[name] = definition(); ???}})(‘hello‘, function () { ???var hello = function () {}; ???return hello;});

兼容原理和我们平常做浏览器兼容的原理是一样的,无非就是能力检测和怪癖检测。

把自己的js模块兼容到AMD CMD CommonJS

原文地址:http://www.cnblogs.com/yonglin/p/7857614.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved