这个javascript动态文件包含系统有什么问题吗?

时间:2016-07-20 11:57:55

标签: javascript

CODE:

function stop(reason){
    throw(reason);
}
function pragma_once(file_name){
    if(window[file_name] !== undefined)
        stop("Duplicate symbol: "+file_name);
    window["__INCLUDE__"+file_name]=true;
    return true;
}
function include(file_name){
    var x = document.createElement('script');
    x.src = file_name;
    document.getElementsByTagName("head")[0].appendChild(x);
}

我一直在使用node.js,而require()对于保持我的代码干净,更容易跟踪和更容易阅读似乎非常有用。但正如我注意到网络上的javascript没有" require()"。我发现requirejs为web javascript添加了require()功能。但是我不知道使用库是否对于看起来非常小的任务非常有用。所以我写的东西有点像需要(更像是c #include)。我注意到的唯一真正的问题是它以异步方式加载所有内容。这不是最终版本,但是这个功能如何不会发生变化。

我不知道有任何潜在的问题吗?有什么理由不使用它吗?

1 个答案:

答案 0 :(得分:0)

我认为人们告诉别人不这样做的主要原因是出于这三个原因。

  1. 它为此脚本发出另一个HTTP GET请求,并且在初始加载页面时不会。

  2. 我可以多次包含同一个文件。

  3. 如果您需要该功能,那么可以在Web框架或扩展Javascript的脚本语言中找到更优化的版本。