gpt4 book ai didi

visual-studio-code - 如何使用 es5 和 Visual Studio Code 获取外部 javascript 库的智能感知

转载 作者:行者123 更新时间:2023-12-02 17:02:33 25 4
gpt4 key购买 nike

我正在处理没有转译器的项目。当我想使用外部库并在 Visual Studio Code 中使用智能感知时,我需要使用导入(不适用于 es5)。

示例:我想使用 axios 库,所以我使用 npm 安装它,将脚本标记引用添加到 axios.js 并在 app.js 中编写应用程序代码。当我这样做时,我可以获得智能感知

从 'axios' 导入 axios;

但它会在 es5 中失败。

我确实找到了一个 hacky 解决方法,它让我的智能感知在 es5 中不会失败:

var axios = axios ||要求('axios').default;

但至少对我来说,这对我来说只是为了智能感知太老套了:)

我还注意到,例如 jquery intellisense 也可以在没有导入的情况下工作,我认为原因是 jquery 类型定义文件不使用模块语法(导出)并且东西被添加到全局范围中。所以我也想知道是否有可能创建我自己的类型定义文件以将内容添加到全局范围内?

最佳答案

进一步调查后发现,您确实可以创建自己的辅助类型定义文件,将模块中的类型导入全局范围,以便在具有全局范围的 ES5 项目中使用它:

在您的项目中创建文件 global.d.ts(名称无关紧要),内容如下:

import { AxiosStatic } from "axios";

declare global {
const axios: AxiosStatic;
}

这将使智能感知在全局上下文中(在我的 app.js 中)工作,而无需使用导入。当然只有当你真的不能使用模块时才这样做(全局是不好的:))

我会看看我是否可以说服 vscode 人员(恕我直言,他们使用此文本编辑器做得很好 :))这对 vscode 文档也可能是有用的补充(https://github.com/Microsoft/vscode/issues/63494)

关于visual-studio-code - 如何使用 es5 和 Visual Studio Code 获取外部 javascript 库的智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53373960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com