`

alamedajs/almondjs/requirejs 三者差异及使用场景

 
阅读更多

almondjs 和 alamedajs 都是为了满足某些轻量使用requirejs的开发者而出现的轻量化的AMD加载器。基本的API都保持一致。

 

* 三者的功能完整度:requirejs>alamedajs>almondjs

* 文件的体积:requirejs>alamedajs>almondjs

 

alamedajs

 

1、不兼容低版本的浏览器,它的目标兼容浏览器是chrome、safari、IE10+等其他现代标准浏览器,不支持ie<=9,因为源码用ES5写的,使用到了一些ES5特性,比如Array.isArray, forEach等等。

2、省去了很多兼容代码,并且用了一些高级的API,所以代码总体积减比requirejs减少了35%左右。

3、源码使用了Promise,所以IE10\11如果要使用alamedajs需要再引入一个Promise polyfill或者直接用almameda-prim这个支持Promise的版本。

 

使用场景:只需兼容标准浏览器的项目,可以代替requirejs使用

 

almondjs

 

1、没有内置加载器,不能加载远程模块

2、因为不能加载远程模块,所以需要将项目的所有模块打包到一个JS文件里

3、只能使用一次requirejs.config

4、阉割了一些requirejs的功能,比如require.toUrl,require.nameToUrl等

5、每个模块必须有模块ID,因为所有模块最终会被打包到一个文件里,不能通过文件名来标识。这个可以通过requirejs的优化工具(r.js)来自动解决。

 

使用场景:纯打包成一个bundle文件的项目。

 

总结:不同项目为了优化极致,可以使用不同阉割程度的加载器,减少带宽消耗,提高运行效率

 

1
4
分享到:
评论

相关推荐

    requireJS初学者完整例子

    总的来说,这个初学者例子展示了如何使用RequireJS来组织和加载前端代码,理解并掌握这个例子,将有助于你更好地理解和运用RequireJS,提升前端开发的效率和代码质量。通过实践,你可以尝试添加更多的模块,或者使用...

    require.js

    * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE */ //Not using strict: uneven strict support in browsers, #392, and causes //problems with requirejs.exec&#40...

    requirejs-demo:初学者的Requirejs演示代码

    Requirejs 初学者演示代码。 使用 jQuery、Backbone、underscore 作为前端框架。 跑步 您应该将这个项目部署在静态服务上,例如 apache、nginx。 阿帕奇配置 DocumentRoot "/Users/liaowei/Documents/code/github...

    requireJS require.js下载

    使用方法:https://blog.csdn.net/shiqiangwen/article/details/100014124 。RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中...使用RequireJS加载模块化脚本将提高代码的加载速度和质量。【百度百科】

    requireJs学习文档+demo

    RequireJS 是一个 JavaScript 文件和模块加载器,它使得在浏览器端使用异步方式来加载和组织脚本,从而解决了大型JavaScript应用中代码依赖管理和加载效率的问题。RequireJS 的设计思想深受 CommonJS 和 AMD...

    RequireJS入门(三)

    本篇文章将深入探讨 RequireJS 的基础知识,包括它的核心概念、使用方式以及如何结合实际项目进行应用。 RequireJS 的核心理念是遵循AMD(Asynchronous Module Definition)规范,这种规范允许异步加载模块,从而...

    RequireJS入门(一)

    本篇文章将对 RequireJS 的基本概念、使用方法及重要特性进行深入讲解。 ### 1. RequireJS 的出现背景 在 Web 开发中,随着 JavaScript 代码量的增加,管理多个文件之间的依赖关系变得复杂。RequireJS 提出了一种...

    requirejs_Demo演示

    在`requirejs_Demo`这个示例中,我们将深入探讨requireJS的使用方法,以及如何在实际项目中应用它。 1. **模块定义**:在requireJS中,每个JavaScript文件都可以作为一个模块。通过`define`函数定义模块,该函数...

    module-requirejs::mage:Magento 2模块演示了RequireJS的用法

    RequireJS Magento 2模块Magento 2模块演示了RequireJS的用法。内容设置将模块放在app/code/Koz/RequireJS ,或通过Composer安装。 $ composer config repositories.koz-requirejs vcs ...

    前端项目-requirejs-plugins.zip

    【标题】"前端项目-requirejs-plugins.zip"指的是一个包含前端开发中RequireJS插件的压缩包。RequireJS是一款流行的JavaScript模块化加载器,它使得前端代码组织更加有序,易于维护,尤其在处理大型项目时更为高效。...

    ionic-requirejs实例

    在本文中,我们将深入探讨如何将Ionic框架与RequireJS结合使用,实现项目的模块化管理。Ionic是一个基于AngularJS构建移动应用的开源框架,而RequireJS则是一个JavaScript模块加载器,它使得JavaScript代码能够遵循...

    RequireJS 使用文档

    通过使用RequireJS,开发者能够以模块ID代替URL来引用脚本,从而实现代码的解耦和可维护性提升。 RequireJS 的核心特性包括: 1. **模块化加载**:RequireJS 使用 `require` 和 `define` 函数来管理模块。`require...

    requirejs demo

    这个"requirejs demo"应该包含了一个使用RequireJS的示例项目,用于演示如何配置和使用RequireJS来优化前端开发。 RequireJS 的核心概念有以下几点: 1. **模块化**:RequireJS 将JavaScript代码分解为独立的模块...

    使用gulp解决requireJs项目前端缓存问题

    RequireJS作为一款优秀的AMD(Asynchronous Module Definition)规范实现者,允许我们按需加载和组织代码,但随之而来的问题是,当项目更新时,浏览器可能会因缓存旧的JavaScript文件而导致更新无法生效。...

    --F.E.A.R.S.--:[Famo.usFramework]EngineAngularJSRequireJSSystemJS

    '--' 不仅用于外观,我使用运算符-- 和 -- 运算符来证明,当您学习使用此包时,您将不再害怕学习这些 API。 ###Organization API 的每个特定排列都组织成扇区,作为示例进行演示。 示例:Famo.us/Engine/AngularJS...

    requirejs 最新版

    RequireJS 2.1.11 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved. Available via the MIT or new BSD license. see: http://github.com/jrburke/requirejs for details

    requireJS实例

    在 "requireJS实例Demo" 中,我们可以学习到如何有效地使用 RequireJS 来组织和加载 JavaScript 模块。RequireJS 提供了异步加载功能,使得开发者可以将大型应用分解为多个小型、独立的模块,每个模块都有自己的职责...

    requirejs模块配置及定义

    ### RequireJS 模块配置及定义详解 #### 一、RequireJS简介 RequireJS是一个JavaScript模块加载器,它遵循AMD(Asynchronous Module Definition)规范,主要用于实现JavaScript代码的模块化管理,通过异步加载的...

Global site tag (gtag.js) - Google Analytics