我正在使用Angular-CLI(Angular 4,Typescript,Webpack)创建一个带有Office-js的Excel加载项.外接程序工作正常,但由于微软要求通过CDN获取Office-js,我无法弄清楚如何将Excel导入应用程序.
Excel对象正在加载到全局命名空间中,我可以使用declare var Excel:any访问它.可悲的是,这种方法吹走了我的自动完成功能.其他第三方库允许像’lodash’那样导入*作为_,但是当使用index.html中的脚本标记通过CDN传递文件时,我不知道如何遵循此模式.
我有npm安装了@ types / office-js,当我删除declare var Excel:any;我的编辑器的自动完成工具按预期工作.不幸的是,此时typescript编译器无法编译.如果我明确包含///< reference types =“office-js”/>在文件的顶部,事情按预期工作,但我觉得这是一个笨重的解决方案.
如何使用’@ microsoft / office-js’中的import {Excel}等语法导入Excel,或者从’office-js’导入*作为Excel?
解决方法
我不知道它是否与iziToast(它没有对Angular的本机支持)相同的问题,但我希望它可以帮助你.所以,
而不是像’iziToast’那样从’import * as iziToast’导入lib,我这样做了:
import { Injectable } from '@angular/core' let iziToast = require('assets/js/iziToast.min.js') @Injectable() export class NotificationService { sucess(message?: string) { iziToast.success(......) } }
然后就像一个魅力