sea.js使用require函数在click事件中加载模块为什么预先下载?

问题如下代码

https://img4.mukewang.com/5befbb6f000155e703810496.jpg

我看原作者是这么说的(中括号中的内容):

【定义模块时无需罗列依赖数组,在factory函数中需传入形参require,exports,module,然后它会调用factory函数的toString方法,对函数的内容进行正则匹配,通过匹配到的require语句来分析依赖,这样就真正实现了commonjs风格的代码。

上面的main.js执行会输出如下:

main.js执行

a.js执行

hello, a.js

a.js和b.js都会预先下载,但是b.js中的代码却没有执行,因为还没有点击按钮。当点击按钮的时候,会输出如下:

b.js执行

hello, b.js

可以看到b.js中的代码此时才执行。这样就真正实现了“就近书写,延迟执行“,不可谓不优雅。】

我不是很理解里面为什么b.js会预先下载,按照代码意思不是点击后才开始require('b')吗?请大神解答一下。。另外如果需要看原文的话点击这个链接原文链接



慕哥9229398
浏览 569回答 1
1回答

慕姐8265434

打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript