如何在打字稿中将全局变量设置为material design lite library

How to set global variable to material design lite library in typescript

我在 Visual Studio 2015 中使用带有 Microsoft TypeScript 的 Google "Material Design Lite" 库。我的 Index.html 页面中有一个脚本标签,如下所示:

<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.0.6/material.min.js"></script>

在我的一个打字稿模块中,我侵入了一个变量以访问 Material Design Lite (MDL) 库函数,如下所示:

module Default {
  'use strict';

   export var componentHandler = window['componentHandler'];

更新 MDL DOM 的工作方式如下所示,但我更喜欢更优雅的方式。这条路好像真的"hacky"。有什么方法可以在打字稿定义文件中为 MDL 函数创建这个全局变量吗?

Default.componentHandler.upgradeDom();

Inside one of my typescript modules I hacked in a variable to get access to the Material Design Lite (MDL) library functions as so

库将自身暴露给全局命名空间。您的使用证明了这一点:window['componentHandler']

所以正确创建文件globals.d.tsvendor.d.ts声明这个事实:

/** From MDL */
declare var componentHandler: any; 

更多:

快速迁移指南:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html

全局模式: https://basarat.gitbooks.io/typescript/content/docs/project/globals.html

我下载了 material-design-lite.d.ts 版本并添加了 typescript include 参考;

///<reference path="material-design-lite.d.ts"/>

皮特