如何使用Angular-CLI将通过CDN传送的第三方库导入Angular / Typescript而不使用declare var?

前端之家收集整理的这篇文章主要介绍了如何使用Angular-CLI将通过CDN传送的第三方库导入Angular / Typescript而不使用declare var?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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(......)
  }
}

然后就像一个魅力

猜你在找的Angularjs相关文章