首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RequireJS源码初探

前两天跟着叶小钗的博客,看了下RequireJS源码,大体了解了其中的执行过程。不过在何时进行依赖项的加载,以及具体的代码在何处执行,还没有搞透彻,奈何能力不够,只能先记录一下了。...RequireJS的初探 看源码从头开始看,肯定是不切实际的。按照叶小钗的方法,是从data-main开始的,所以我们也从那里开始把!...首先,页面会有一段js标签,会去加载requirejs: Requirejs中,代码是一个自执行的方法...: var requirejs,require,define; (function(global){ })(this); 源码中,主要是定义了三个全局的变量——requirejs,require...RequireJS主体方法 //定义环境变量 //定义各种方法 //检查requirejs,require,define //核心部分 function newContext

91290
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AMD、CMD、RequireJS

    有哪些应用 1、CMD规范 CMD 即Common Module Definition通用模块定义,CMD规范是国内发展出来的,就像AMD有个requireJS,CMD有个浏览器的实现SeaJS,SeaJS...要解决的问题和requireJS一样,只不过在模块定义方式和模块加载(可以说运行、解析)时机上有所不同。...它是一个在浏览器端模块化开发的规范;由于不是JavaScript原生支持,使用AMD规范进行页面开发需要用到对应的库函数,也就是大名鼎鼎RequireJS,实际上AMD 是 RequireJS 在推广过程中对模块定义的规范化的产出...requireJS主要解决两个问题 : 多个js文件可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器 js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间越长 // 定义模块...image.png 使用AMD规范实现模块加载,使用RequireJS打包 代码 效果展示

    1.2K30

    使用 RequireJS 加载 AngularJS

    使用 RequireJS 加载 AngularJS AngularJS 目前的版本没有遵循 Javascript 约定的 AMD 模块化规范, 因此使用 RequireJS 加载 AngularJS 时需要一些额外的配置...通过查阅 RequireJS 的文档, RequireJS 通过配置可以支持支持动态加载没有遵循 AMD 规范的脚本, 接下来就看一下怎么配置: 先在页面引入 RequireJS 脚本, 这个很简单,...script type="text/javascript" src="scripts/lib/require/require.js" data-main="scripts/main"> RequireJS...会自动加载脚本 scripts/main.js , 在 main.js 文件里面进行配置, 来动态加载 AngularJS , 文件内容以及说明如下: requirejs.config({ /...设置 angular 的其它模块依赖 angular 核心模块 'angular-route': { deps: ['angular'] } } }); 完整的配置请看这里: RequireJS

    1.3K10

    基于requirejs和angular搭建spa应用1、常规实现2、引入Requirejs

    contact是没必要加载的,但是按照我们传统的模式,所有脚本都完成了加载,这首先增加了http请求次数,脚本过多的加载解析也影响浏览器的渲染,用户体验并不友好,基于此,我们有几种方式来实现,1、基于requirejs...本文就以requirejs来实现一下业务模块的按需加载,在此之前首先引入requirejs。 2、引入Requirejs   RequireJS 是一个JavaScript模块加载器。...使用RequireJS加载模块化脚本将提高代码的加载速度和质量,实现的是AMD规范,当然类似的还有CMD规范的实现框架seajs。   ...Requirejs中,简单的说一个文件一个模块,即是单文件模块,所以对模块的加载其实本质上是对文件的加载。   假设读者已经了解requirejs的基本使用方式。   ...controller的注册方式,其中说到了动态注册,当然除了controller之外,还有service、directive等都可以实现动态注册,这也是我们实现按需加载的基础,现在对我们的项目做一下修改,增加requirejs

    1.5K30

    requirejs与seajs的异同

    前端js实现模块化的历史进程中有两个库不得不提,那就是seajs和requirejs,这两个库分别对应CMD和AMD规则,这里咱们先不讨论AMD和CMD的异同,先看看用seajs和requirejs分别来实现一个计算器的功能怎么来实现...四则运算的函数和初始化的函数可以作为模块抽离出来,不论是seajs实现还是requirejs实现都需要一个主文件,seajs实现效果如下:index.html ?...用requirejs来实现计算器功能也很简单,写法不同而已,首先看index.html ? main.js代码: ? calculate模块内容如下: ?...很多人说requireJS是异步加载模块,SeaJS是同步加载模块,这么理解实际上是不准确的,其实加载模块都是异步的,只不过AMD依赖前置,js可以方便知道依赖模块是谁,立即加载,而CMD就近依赖,需要使用把模块变为字符串解析一遍才知道依赖了那些模块

    1.2K50

    vue、rollup、sass、requirejs组成的vueManager

    源码:github地址,需要切换为framework分支。 一、css预处理方案 这块没什么好说的,由于本人只对sass比较熟悉,就引入了sass和compass。...按需加载 按需加载库我选择requirejs的理由如下: 按需加载的库很多,如seajs、mod.js等,选择requirejs由于我比较熟悉他。...2. assets文件夹 skin(皮肤样式)的sass源码,皮肤的编译是通过gulp任务完成的。 3. build文件夹 提供rollup打包的配置。...4. src文件夹 业务模块的源码目录,此目录下的代码需要通过rollup编译后,才可使用。master模块是一个示例模块。...其他 lib文件夹存储的为requirejs需要引入的第三方库,这里就包含vue、vue-route、vuex、requirejs、text.js、css.js等。

    1.9K60

    提高性能:用RequireJS优化Wijmo Web页面

    RequireJs概述 RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript。...RequireJS不仅仅用于加载模块依赖和相关的命令,RequireJS帮助我们写出模块化的JavaScript代码,这非常有利于代码的可扩展性和重用性。...RequireJS API 存在于RequireJS载入时创建的命名空间requirejs下。其主要API主要是下面三个函数: define– 该函数用户创建模块。...每个模块拥有一个唯一的模块ID,它被用于RequireJS的运行时函数,define函数是一个全局函数,不需要使用requirejs命名空间. var wijmo; define(["....总结,在使用了RequireJs后,性能从800ms提高到400ms,极大的提高了Web运行效率,Wijmo的RequireJs功能可以试试。

    1.6K50
    领券