8

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

我应该如何管理这种依赖关系?我应该指示我的库的用户自己包含 jQuery 吗?我应该使用 RequireJS 或脚本标签插入之类的东西在库中加载 jQuery 吗?如果后者会更好,如果用户已经在使用 jQuery,我该如何做到这一点而不引起冲突?

4

3 回答 3

2

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

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

但是,如果您希望制作一个灵活且可维护的库,我建议您使用一些模块加载器(如 RequireJS)。这也为您提供了使用构建系统的优势,该系统允许您组合和打包您的库

于 2013-04-23T18:32:07.587 回答
1

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

我使用这个 Stack Overflow 答案作为编写自己的函数来获取 JSON 的指南。我需要同步获取数据,所以我根据另一篇文章中概述的技巧调整了功能。

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

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);
    }
  }
}
于 2013-04-23T20:26:22.003 回答
0

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

于 2013-04-23T18:22:39.977 回答