• 技术文章 >web前端 >js教程

    seajs中模块依赖加载处理实例分析

    小云云小云云2018-01-26 10:47:39原创751
    本文主要介绍了seajs中模块依赖的加载处理,结合实例形式分析了seajs模块依赖与加载的原理、相关注意事项与使用方法,需要的朋友可以参考下,希望能帮助到大家。

    最近在做项目的时候发现一些关于模块依赖问题,特记录下:

    比如现有3个文件:

    /*init.js*/
    define(function(require, exports, module){
     require('jquery');
     require('jquery.plugA');
    })
    /*jquery.plugA.js*/
    define(function(require, exports, module){
     require('jquery');
     require('jquery.plugB');
     //code...
    })
    /*jquery.plugB.js*/
    define(functioin(require, exports, module){
     require('jquery');
     //code...
    })

    比如执行init.js时,init.js、jquery.plugA.js、jquery.plugB.js都会依赖到jquery,那么这种情况下seajs对jquery如何处理的呢?只执行一次?执行多次?还是其他方式?

    此处参考玉伯的回答:

    我对模块调用的理解是,调用是指获取某个模块的接口。在 SeaJS 里,只有 seajs.use, require.async, 和 require 会产生模块调用,比如: var a = require('./a') 在执行 require(‘./a') 时,会获取模块的接口,如果是第一次调用,会初始化模块 a,以后再调用时,直接返回模块 a 的接口; define 只是注册模块信息,比如打包之后:define(id, deps, factory) 是注册了一个模块到 seajs.cache 中,define 类似:seajs.cache[id] = { id: id, dependencies: deps, factory: factory }

    是纯注册信息。

    而 require('./a') 时,才会执行 seajs.cache['a'].factory, 执行后得到 seajs.cache['a'].exports

    相关推荐:

    seajs中模块的解析规则详解和模块使用总结_Seajs

    以上就是seajs中模块依赖加载处理实例分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript seajs 处理
    上一篇:vue换肤功能实例教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 浅析Angular中的Change Detection机制• 实战学习:聊聊Node.js怎么操作数据库• 一文聊聊node中的path模块• 浅析Angular变更检测中的订阅异步事件• 聊聊如何选择一个最好的Node.js Docker镜像?
    1/1

    PHP中文网