首页 文章

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

提问于
浏览
4

我正在使用Angular-CLI(Angular 4,Typescript,Webpack)创建一个带有Office-js的Excel加载项 . 外接程序工作正常,但由于微软要求通过CDN获取Office-js,我无法弄清楚如何将Excel导入应用程序 .

Excel对象正在加载到全局命名空间中,我可以使用 declare var Excel: any 访问它 . 可悲的是,这种方法吹走了我的自动完成功能 . 其他第三方库允许像 import * as _ from 'lodash' 这样的东西,但是当使用index.html中的脚本标记通过CDN传递文件时,我不知道如何遵循这种模式 .

我有@pm / office-js安装npm,当我删除 declare var Excel: any; 我的编辑器的自动完成生物按预期工作 . 不幸的是,此时typescript编译器无法编译 . 如果我在文件的顶部明确包含 /// <reference types="office-js"/> ,那么事情就会按预期工作,但我觉得这是一个笨重的解决方案 .

如何使用 import { Excel } from '@microsoft/office-js'import * as Excel from 'office-js' 等语法导入Excel?

1 回答

  • 0

    我不知道它是否与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(......)
      }
    }
    

    然后就像一个魅力

相关问题