define(function(require){
if(false){
var $ = require("jquery");
}
});
我发现,即使require("jquery")这个语句没有执行,可jQuery仍然被加载了,这是咋回事。难道requirejs中的局部require仅仅是为了写代码方便,本质上与写在define里没区别?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
是的,请看这里: http://requirejs.org/docs/api... (从 or better yet开始)
requirejs的CMD只是一个语法糖,本质仍是AMD
这里涉及到脚本加载顺序问题:
首先,js文件加载顺序。如果说 jquery 比 requirejs 先加载的话,那么
$就是一个全局性的(即 window.$);在哪都可以直接使用。其次,如果 requirejs 比 jquery 优先加载,那么当在加载 jquery 时,会发现,咦,原来允许CommonJS规范定义,那么就不会把 $ 挂到
window下面,你只能通过require('jquery')之类来调用。