问题如下代码
我看原作者是这么说的(中括号中的内容):
【定义模块时无需罗列依赖数组,在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')吗?请大神解答一下。。另外如果需要看原文的话点击这个链接原文链接
慕姐8265434
相关分类