typescript - TypeScript 中的 WebView 扩展
问题描述
在代码示例(catcoding)中,支持 webview 逻辑在 JavaScript 中编写为匿名函数,但是我想在 Typescript 中构建这个支持逻辑。
我已经厌倦了将此逻辑复制为带有 requireJS 的打字稿包,但我无法使其正常工作。
// This script will be run within the webview itself
// It cannot access the main VS Code APIs directly.
(function () {
const vscode = acquireVsCodeApi();
…
}();
我希望在 TypeScript 中构建这个支持 WebView 逻辑,以便获得静态类型检查。
解决方案
如果您使用 TypeScript 编写 webview 脚本,则必须使用 typescript 编译器或 webpack 将它们编译为 JavaScript(有关示例,请参见github pull requests 扩展)。
VS Code 不包括可用于 web 视图内脚本的 VS Code api 的 TypeScript 类型,但您在 TypeScript 中要做的就是声明一个全局调用acquireVsCodeApi
存在:
declare var acquireVsCodeApi: any;
const vscode = acquireVsCodeApi();
// Do stuff with api like getting the state
vscode.getState();
推荐阅读
- sql - BigQuery:如何找到按比例缩放的平均每周销售额?
- javascript - 如何从我的电报频道获取个人资料照片?
- apexcharts - 在 Apexcharts 中设置图表的高度
- angular - 当我在 html 中使用此异步时,为什么我的代码会使我的浏览器窗口冻结?但是当我在组件中使用时工作正常
- sql - 多个 IF EXISTS 语句以提高级别
- flutter - 在 Flutter 中从 FutureBuilder 设置状态
- excel - 过滤一个值,然后删除该过滤器下的所有值(有自己的代码,但似乎不起作用)
- javascript - 如何让我的 javascript 代码每周日下午 23:59 在我的后端运行?
- oracle-apex - 如何实施 Oracle Apex 区域授权
- amazon-web-services - 了解 IAM 密码