87,955
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
<html>
……
<body>
<script src="a.js"></script>
<script src="b.js"></script>
<script src="c.js"></script>
<script>
do();
take();
</script>
<body>
</html>
define(["jquery"], function($){
return {
run: function() { .... }
};
});
require(["pack1", "pack2", ... "packn"], function(p1, p2, ... pn){
// 在这个回调函数里,能保证所有的pack都已经按依赖顺序加载好了
});
// 在函数外面,无法保证哪个pack已经加载,所以,在这个位置,没法使用 pack1 ... packn 中的任何一个函数。
而我的使用情况是:就要在这些串行执行的js代码块中,使用AMD的js,晕啦
<html>
……
<body>
<script src="a.js"></script>
<script src="b.js"></script>
<script src="c.js"></script>
<script src="library.js"></script>
<script>
do();
library.run();
take();
</script>
<body>
</html>
这样用,首先会报错,找不到 define,
其次,就算我在最前面引入 "require.min.js",在下面的代码中如何引用呢?
require(["library"], function(lib){
lib.run(); // 这样就变成异步的,和外面的 do(), take() 顺序就不能保证串行了。况且,假如,我后面的代码依赖于 lib.run() 这函数,怎么办?
});