【发布时间】:2014-03-21 19:40:21
【问题描述】:
我正在尝试使用最新的 q.js 向我的 ajax 调用添加承诺。我不以任何形式或形式使用 node.js。我从https://github.com/kriskowal/q 下载了最新版本,并且只包含了 q.js。在我的控制台中,我在某些地方看到:
ReferenceError: 要求未定义
我不知道这是否会破坏交易,但我也不使用 requirejs。我正在玩一个单页应用程序,当我将 jquery 用于 ajax 时,我计划为我自己的简单实现或另一个较小的库删除该依赖项。我想使用 q.js,也使用 bootstrap.js,并且可能会使用 flatiron-director,仅此而已。所以我不使用 npm 或任何其他东西,因为我的应用程序非常简单。只有几个 JS 文件,我认为没有任何理由增加这种复杂性。
那么这个错误是一个问题吗?如果没有 require.js(或 node.js),q.js 将无法工作?我以为我读它是独立的,但是当我看到这样的错误时,它似乎依赖于其他一些 JS 库,这让我怀疑我是否可以使用它。
【问题讨论】:
-
如果您查看自述文件中的“入门”部分,您可以看到 “Q 模块可以加载为:[...] A
<script>标签(创建一个Q 全局变量):约 2.5 KB 压缩和压缩。” -
是的..我确实看到了,并且做到了,但即使这样做我也看到它正在尝试使用 require() 来加载其他一些脚本。如果没关系..我很好。我刚刚看到控制台错误,并认为我尝试使用它时可能做错了什么。
-
@user3317868 它肯定可以工作。您是否在页面上加载了其他可能会混淆它的内容?你应该做一些调试来减少测试用例。
-
我确实加载了 jquery 2.1、bootstrap js 和 directorjs。但是错误肯定来自 q.js 加载..或尝试使用不存在的 require() 调用,因为我没有加载 requirejs 或 nodejs。我还没有使用过承诺的东西,但我会看看它是否有效,尽管有这个控制台日志错误。我假设它正在尝试使用 require() 以防万一它可能是由 nodejs 加载的?
标签: javascript ajax node.js requirejs q