jquery.d.ts 文件中未捕获的 SyntaxError

Posted

技术标签:

【中文标题】jquery.d.ts 文件中未捕获的 SyntaxError【英文标题】:Uncaught SyntaxError in jquery.d.ts file 【发布时间】:2018-06-19 23:29:32 【问题描述】:

我正在尝试将我的 jQuery 项目转换为 Typescript 项目。但是,当我使用此方法包含来自 DefinitelyTyped Github 的 jQuery 类型时:

///<reference path="../../typings/jquery.d.ts"/>

我在 jquery.d.ts 的第 27 行收到“Uncaught SyntaxError: Unexpected identifier”,如下所示

declare module 'jquery' 
     export = jQuery;

我已经对这个问题进行了大量搜索,但我似乎找不到任何解决这个问题的方法。我做错了什么?

(我使用 WebStorm 作为我的 IDE)

编辑: 好的,我按照下面的一些说明通过 npm 终端安装了 jQuery 类型。但是,当我删除 ///reference 导入时,我现在在 Webstorm 中收到错误:TS2304 找不到名称“$”。但是,代码编译为js,可以在浏览器中正常运行。在 Webstorm 的控制台中出现这些错误只是很烦人。是否需要添加一些东西才能让 Webstorm 识别 jQuery?

【问题讨论】:

这是一个运行时错误——既不是 IDE 错误,也不是(可能)是 Typescript 编译器错误。信息不足,无法查看问题所在。 【参考方案1】:

现在最推荐的做法是代替 ///reference 导入,安装单独的类型包:https://www.npmjs.com/package/@types/jquery 作为 devdependency。 (并确保您使用的是最新的 ts 编译器支持这一点)

【讨论】:

好的,我按照这些说明通过 npm 终端安装了 jQuery 类型。但是,当我删除 ///reference 导入时,我现在在 Webstorm 中收到错误:TS2304 找不到名称“$”。但是,代码编译为js,可以在浏览器中正常运行。在 Webstorm 的控制台中出现这些错误只是很烦人。是否需要添加一些东西才能让 Webstorm 识别 jQuery?

以上是关于jquery.d.ts 文件中未捕获的 SyntaxError的主要内容,如果未能解决你的问题,请参考以下文章

使用复杂的 .d.ts 文件 (chrome-app.d.ts)

在 TypeScript 中使用 jQuery 插件

未捕获的类型错误:无法读取 AngularJS 和 D3 中未定义的属性“弧”

如何将 Javascript 文件导入 Typescript

Scala模板中未捕获的ReferenceError

Uno.Lottie WebAssembly 中未捕获的类型 JavaScript 错误