打包需要jQuery的JavaScript库的最佳方法是什么?

时间:2013-04-23 18:18:21

标签: javascript jquery requirejs

我正在编写一个非常基本的JavaScript库,它使用jQuery的$ .ajax()函数。

我该如何管理这种依赖?我应该指示我的库的用户自己包含jQuery吗?我应该使用诸如RequireJS或脚本标记插入之类的东西来加载库中的jQuery吗?如果后者会更好,如果用户已经在使用jQuery,如何在不引起冲突的情况下执行此操作?

3 个答案:

答案 0 :(得分:2)

我认为这取决于你是否有更多的依赖,而不是jQuery。

如果jQuery是你唯一的依赖项,并且你的库并不真正需要它自己的模块依赖系统,我不会推荐RequireJS。只需检查库中是否存在jQuery,否则会抛出错误。

如果您正在寻找一个灵活且可维护的库,我建议使用一些模块加载器(如RequireJS)。这也为您提供了使用build system的优势,它允许您组合和打包您的库

答案 1 :(得分:1)

我最后编写了自己的函数来获取原始帖子中推荐的愚蠢的小我的JSON数据。感谢所有回复的人。关于JavaScript库依赖关系的指导是非常有价值的,即使我走了另一条路。

我使用this Stack Overflow answer作为编写自己的函数来获取JSON的指南。我需要同步获取数据,因此我使用this other article中列出的提示调整了函数。

最后,我的功能看起来像这样。我希望它可以帮助其他人。

var fetchJSON = function(path, callback) {
  var httpRequest = new XMLHttpRequest();
  httpRequest.open('GET', path, false);
  httpRequest.send();
  if (httpRequest.readyState === 4) {
    if (httpRequest.status === 200) {
      var data = JSON.parse(httpRequest.responseText);
      if (callback) callback(data);
    }
  }
}

答案 2 :(得分:0)

我建议你先建议用户包含jquery。如果您让我选择任何示例,您将看到这是一种真正使用的方法(例如.net框架)