【发布时间】:2012-11-30 13:34:51
【问题描述】:
我在尝试使用 Typescript 的简单 jQuery 示例时遇到此错误:
"tsc.js(23915, 17) Microsoft JScript 运行时错误:'$' 未定义"
我的整个 .ts 文件:
/// <reference path="scripts/jquery-1.8.d.ts" />
$(document).ready(function () {});
jquery-1.8.d.ts 来自DefinitelyTyped,但如果我使用标准jquery.d.ts,我会得到同样的错误。我在引用标签上没有收到任何错误,它是正确的并且正在查找 .d.ts 文件。
我显然在这里遗漏了一些基本的东西,我无法弄清楚为什么我会收到这个错误。我已经安装了 VS 2012 扩展并且在 jQuery 上获得了完全的自动完成功能......所以当我输入“$”时,我确实得到了自动完成弹出窗口。生成的 .js 文件是正确的,没有错。一个更复杂的 .ts 文件正在正确编译,输出 .js 文件非常好,所以我想这比错误更令人烦恼。还是因为这个运行时错误我错过了其他错误??
我正在通过在 VS 中添加“外部工具”来编译 命令:C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.1.1\tsc.exe 参数:-e "$(ItemPath)" --sourcemap
【问题讨论】:
-
嗯,我刚刚发现,如果我将 jQuery 调用包装在 .ts 文件中的函数中,我不会收到此错误。例如,函数 t(){$("#somediv").click()} 不会导致错误。
标签: jquery typescript