TS2339:属性'application'在类型'RequestContext'的MS word插件中不存在

时间:2018-11-28 18:53:46

标签: ms-word office365 office-js

这让我发疯了-我正在使用React和office JS开发我认为是MS单词的简单插件。

我正在将https://appsforoffice.microsoft.com/lib/beta/hosted/office.js加载到我的应用程序中,我有一个有效的清单,并且可以按需加载可以按预期呈现的应用程序,直到我尝试创建单词交互性。我遇到了第一个障碍,我需要我的插件来获取docx文档,然后加载-应该可以使用createDocument(base64)然后加载。

我的问题是:

Word.run(async context => {
                var MyDoc = context.application.createDocument(getMyDocument());
                context.load(MyDoc);
            })
            .catch(function (error) { 
                console.log('Error: ' + JSON.stringify(error));
                if (error instanceof OfficeExtension.Error) {
                    console.log('Debug info: ' + JSON.stringify(error.debugInfo));
                }
        });

无法编译,并显示错误TS2339:类型'RequestContext'上不存在属性'application'。

但是我可以引用context.document,它将编译并添加文本段落。我根本不知道我哪里出错了。

Office版本为Mac 2016 16.2(181125),因此应轻松接受具有此功能的Word 1.3 API。

Google搜索没有给出有意义的结果,这表明我错过了它,而不是常见的错误。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题,这是由于React库@ types / office-js过期了。该加载项是使用yeoman生成器创建的,@ types / office-js的版本为0.051 ^。我更改了packages.json中的程序包,并运行npm install以更新到最新版本(在撰写本文时为0.0170),其中包括与单词API的更高版本(包括createDocument)一起使用的上下文。