To reference VSS.SDK in typescript. Error : VSS is not defined

To reference VSS.SDK in typescript. Error : VSS is not defined

我在编译项目时尝试使用node_modules中的vss-web-extension-sdk

但是当我上传时它说;

打字稿文件中的一小段代码

VSS.init({
        explicitNotifyLoaded: false,
        usePlatformStyles: true,
        usePlatformScripts: true
    });

vss-web-extension-sdk的目录结构(在node_modules下)

我也尝试过 referenceimport 我使用它的 sdk,但无法正常工作。我的尝试如下,我得到的错误如下...

/// <reference path = "../../../node_modules/vss-web-extension-sdk/typings/index.d.ts/" />

Error : File '.../node_modules/vss-web-extension-sdk/typings/index.d.ts/' is not under 'rootDir' '.../src'. 'rootDir' is expected to contain all source files.ts(6059)

import  "../../../node_modules/vss-web-extension-sdk"

Error: Module not found: Error: Can't resolve '../../../node_modules/vss-web-extension-sdk' in ...

import "vss-web-extension-sdk"

Error: Module not found: Error: Can't resolve 'vss-web-extension-sdk' in ...

我在 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>

注意:如果你得到

Resource blocked due to MIME type mismatch (X-Content-Type-Options: nosniff)

从 HTML 文件中引用 SDK 后,查看此答案