我对JavaScript世界很陌生(特别是在图书馆方面)。其中有不少人告诉您使用require('libName')
作为在您的网页/应用程序上集成库的方法。有人可以向我解释这究竟是如何工作的,以及如何实现这一点?默认情况下,require()不起作用。
答案 0 :(得分:3)
浏览器中的JavaScript没有require
功能,此功能由外部库提供,遵循两个最常用的规范:CommonJS和AMD。看一下两种模式都很好的RequireJS。
服务器上的JavaScript(NodeJS)默认使用CommonJS规范。
答案 1 :(得分:2)
要求是一个手工制作的函数,可以自己编写,也可以是你在页面上任何其他JS之前加载的库的一部分。
例如,RequireJS是一个只处理依赖加载(和命名空间,如果需要)的库。
你可以简单地使用脚本标记中的onload
事件,以编程方式插入到页面上(或onreadystatechange
用于旧版本的IE),并依赖于几个后备关于你想要支持多少个超级旧浏览器。
通过学习“Promises”的模式,您还可以在模块中间进入需要依赖项。
同样,不同的图书馆以不同的方式支持这一点。
答案 2 :(得分:2)
这是一个非常轻量级的要求:
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");
});