首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用es5和Visual Studio代码为外部javascript库获取智能感知

如何使用es5和Visual Studio代码为外部javascript库获取智能感知
EN

Stack Overflow用户
提问于 2018-11-19 19:45:55
回答 1查看 1.5K关注 0票数 2

我正在与没有转译器的项目工作。当我想在Visual Studio代码中使用外部库和智能感知时,我需要使用导入(这不适用于es5)。

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

import axios from 'axios';

但如果使用es5,则会失败。

我确实找到了一个老生常谈的变通办法,让我在使用es5时智能感知将不会失败:

var axios = axios || require('axios').default;

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-11-20 18:02:23

进一步研究后发现,您确实可以创建自己的帮助器类型定义文件,将模块中的类型导入全局作用域,以便在全局作用域的ES5项目中使用:

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

代码语言:javascript
复制
import { AxiosStatic } from "axios";

declare global {
  const axios: AxiosStatic;
}

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

我将看看我是否能说服vscode人员(他们正在出色地使用这个文本编辑器:),这也可能是对vscode文档(https://github.com/Microsoft/vscode/issues/63494)的有用补充。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53373960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档