seajs如何做到让模块内的require先执行,再执行后面的代码

我一直都想了解seajs是如何确保模块内的require方法先执行,然后再执行require后的代码

比如,我先引用了index.js

seajs.use('./js/index.js');

然后在index.js中引用a.js,
然后打印一段内容

seajs.use('./a.js');
console.log('hello');

在a.js中也打印了一段内容:

console.log('aaa');

而最终得到的结果是:

aaa //先输出a.js
hello //再输出hello.js

我知道这个结果是基于seajs对模块的依赖处理,也看过一些相关的原理介绍,但还不是很明白
为何在index.js的require('./a.js'),会先去解析a.js并执行其中的代码,然后再执行后面的代码(console.log('hello');)

阅读 2.2k
1 个回答

肯定是这样的啊,seajs.use的核心原理就是用script标签加载use里指定的脚本,而script标签是加载完就会执行的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题