需要库的JavaScript

时间:2013-02-23 23:39:28

标签: javascript require

我对JavaScript世界很陌生(特别是在图书馆方面)。其中有不少人告诉您使用require('libName')作为在您的网页/应用程序上集成库的方法。有人可以向我解释这究竟是如何工作的,以及如何实现这一点?默认情况下,require()不起作用。

3 个答案:

答案 0 :(得分:3)

浏览器中的JavaScript没有require功能,此功能由外部库提供,遵循两个最常用的规范:CommonJSAMD。看一下两种模式都很好的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");
});