CMD模块规范的一些问题
问题:
- CMD模块依赖写在define函数中的第二个参数deps,和写在第三个参数factory函数中的require中有啥区别?例如:
define('hi', ['jquery'], function (require, exports, module) {});
和
define('hi', function (require, exports, module) {
let jquery = require('jquery');
});
同样都是本模块的依赖,这两种方式写有什么不同?据说CMD是延迟执行的,意思是factory函数中所有require的东西,会先加载好(但没执行),然后先执行factory函数,遇到require的地方再执行require中的东西。但对于上面的第一种,['jquery']
这种又是怎样理解“延迟执行”的?
- seajs.config中的alias和paths有啥区别?我感觉它们可以互相替代使用,以下放一个例子:
对于图片中的alias,我完全可以写成这样:
seajs.config({
paths: {
'jquery': 'jquery/jquery/1.10.1/jquery'
}
});
define('hi', function (require, exports, module) {
let jquery = require('jquery');
});
对于图片中的paths,我完全可以写成这样:
seajs.config({
alias: {
'gallery': 'xxxxxxxxxx/gallery'
}
});
define('hi', function (require, exports, module) {
let gallery= require('gallery');
});
所以我觉得很混淆,感觉它们的作用其实可以说是一样的,可以举一个它们不能互相替代使用的例子吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论