我对 JavaScript 世界很陌生(特别是在库方面)。其中相当多的人告诉您将其require('libName')
用作将库集成到您的网页/应用程序中的一种方式。有人可以向我解释它是如何工作的以及如何实现它吗?因为默认情况下 require() 不起作用。
问问题
6408 次
3 回答
3
这是一个非常轻量级的需求:
var require = function(src, success, failure){
!function(source, success_cb, failure_cb){
var script = document.createElement('script');
script.async = true; script.type = 'text/javascript'; script.src = source;
script.onload = success_cb || function(e){};
script.onerror = failure_cb || function(e){};
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
}(src, success, failure);
}
require('js/jquery.js', function(){
console.log('jQuery is ready to use');
}, function(){
console.log("Something went wrong loading this script");
});
于 2013-02-24T00:27:55.203 回答
2
Require 要么是一个你自己编写的手工函数,要么是一个库的一部分,你可以在页面上的任何其他 JS 之前加载它。
例如,RequireJS 是一个只处理依赖加载(和命名空间,如果需要的话)的库。
您可以非常简单地制作您自己的onload
事件,方法是使用您以编程方式插入页面(或onreadystatechange
旧版本的 IE)的脚本标记中的事件,并根据您想要支持的超旧浏览器的数量提供一些后备。
通过学习“Promises”的模式,你也可以在你的模块中间开始需要依赖。
同样,不同的库以不同的方式支持这一点。
于 2013-02-23T23:46:48.140 回答