我使用角-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:
ng new test
cd test
npm install –save-dev @types/office-js然后打开项目目录,转到src/index.html。在标题中添加此CDN:
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/Office.js" type="text/javascript"></script>然后转到src/main.ts
并对其进行更改,以便应用程序在初始化Office之前不会引导模块:
Office.initialize = function(){
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
};更新
通过使用以下命令,我能够在我的main.ts中实现这一点:
declare const Office: any;
Office.initialize = function () {
platformBrowserDynamic().bootstrapModule(AppModule);
};但是,只有在Office应用程序中外接程序被侧加载时,这才有效。这个模块似乎没有在浏览器中引导,只是说“加载.”。是否有一种方法可以让它在浏览器中加载以进行调试?我担心这将如何影响调试和任何E2E或单元测试与量角器,业力和茉莉花。
发布于 2017-05-26 18:01:14
发布于 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
https://stackoverflow.com/questions/44190073
复制相似问题