在 typescript 中引用 VSS.SDK。错误:未定义 VSS
Posted
技术标签:
【中文标题】在 typescript 中引用 VSS.SDK。错误:未定义 VSS【英文标题】:To reference VSS.SDK in typescript. Error : VSS is not defined 【发布时间】:2020-10-17 07:30:08 【问题描述】:我尝试使用 node_modules 中的vss-web-extension-sdk
,当我编译项目时。
但是当我上传它时说;
打字稿文件中的一小段代码
VSS.init(
explicitNotifyLoaded: false,
usePlatformStyles: true,
usePlatformScripts: true
);
vss-web-extension-sdk的目录结构(在node_modules下)
我也尝试reference和import我使用它的sdk,但无法正常工作。我的尝试如下和我得到的错误如下......
/// <reference path = "../../../node_modules/vss-web-extension-sdk/typings/index.d.ts/" />
错误:文件 '.../node_modules/vss-web-extension-sdk/typings/index.d.ts/' 不是 在'rootDir''.../src'下。 'rootDir' 应包含所有源 文件.ts(6059)
import "../../../node_modules/vss-web-extension-sdk"
错误:找不到模块:错误:无法解决 '../../../node_modules/vss-web-extension-sdk' in ...
import "vss-web-extension-sdk"
错误:找不到模块:错误:无法解析“vss-web-extension-sdk” 在...
【问题讨论】:
【参考方案1】:我在 html 文件中包含并初始化 VSS.SDK,然后我也可以从 .tsx 文件中使用它。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<script src="../../lib/VSS.SDK.min.js"></script>
</head>
<body>
<script type="text/javascript">
// Initialize the VSS sdk
VSS.init(
explicitNotifyLoaded: true,
usePlatformScripts: true
);
VSS.ready(function ()
VSS.register(VSS.getContribution().id, function (context)
return
// ...
;
);
VSS.notifyLoadSucceeded();
);
</script>
...
...
...
</body>
</html>
注意:如果你得到
由于 MIME 类型不匹配(X-Content-Type-Options: 不闻)
从 HTML 文件中引用 SDK 后,查看此答案
https://***.com/a/41319855/9851619
【讨论】:
以上是关于在 typescript 中引用 VSS.SDK。错误:未定义 VSS的主要内容,如果未能解决你的问题,请参考以下文章
Typescript入门手册之引用类型在TypeScript中的应用
Typescript入门手册之引用类型在TypeScript中的应用