首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角Office加载项:“无法找到名称'Office'”

角Office加载项:“无法找到名称'Office'”
EN

Stack Overflow用户
提问于 2017-05-25 21:24:02
回答 2查看 1.7K关注 0票数 5

我使用角-cli创建了一个新的角项目,然后通过npm安装了Office定义,并将Office放在我的index.html的头中。但是,在我的main.ts中,当我调用Office.initialize =function(){}时,即使TS识别了名称空间,它也找不到‘Office’这个名称。有人知道我做错了什么吗?谢谢!

我一直在关注这里的提示页面:https://dev.office.com/docs/add-ins/develop/add-ins-with-angular2

如果您想复制我的场景并安装了角CLI:

代码语言:javascript
复制
ng new test
cd test
npm install –save-dev @types/office-js

然后打开项目目录,转到src/index.html。在标题中添加此CDN:

代码语言:javascript
复制
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/Office.js" type="text/javascript"></script>

然后转到src/main.ts

并对其进行更改,以便应用程序在初始化Office之前不会引导模块:

代码语言:javascript
复制
Office.initialize = function(){
  if (environment.production) {
    enableProdMode();
  }
  platformBrowserDynamic().bootstrapModule(AppModule);
};

更新

通过使用以下命令,我能够在我的main.ts中实现这一点:

代码语言:javascript
复制
declare const Office: any;

Office.initialize = function () {
  platformBrowserDynamic().bootstrapModule(AppModule);
};

但是,只有在Office应用程序中外接程序被侧加载时,这才有效。这个模块似乎没有在浏览器中引导,只是说“加载.”。是否有一种方法可以让它在浏览器中加载以进行调试?我担心这将如何影响调试和任何E2E或单元测试与量角器,业力和茉莉花。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-26 18:01:14

我建议您看一看脚本实验室,这是一种最近发布的工具,也是开源的展示示例,它使用了角4,您可以使用它作为灵感。一些底层技术也在关于这个项目的播客中进行了讨论。

我们为Script创建了一个Office.js初始化承诺,并乐观地等待了几秒钟。如果我们没有收到它,我们会显示一组按钮来帮助用户选择是在web模式下启动还是启动,就好像它还在外接程序中一样(并且希望是最好的)。

另见如何正确检查主机: Office、Office和web浏览器

票数 1
EN

Stack Overflow用户

发布于 2017-05-26 17:18:00

Office.js库不会在浏览器中加载,因此Office.initialize()不会运行。但是,您可以使用F12工具在C:\Windows\SysWOW64\F12\F12Chooser.exe上调试Office应用程序中的外接程序

更新:您可以在这里找到该工具的帮助:https://learn.microsoft.com/en-us/microsoft-edge/f12-devtools-guide

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

https://stackoverflow.com/questions/44190073

复制
相关文章

相似问题

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