2016-08-28 19 views
1

私は非常に頻繁に使用するモジュールにライブラリを持っているので、それを「グローバル」として宣伝し、それを必要とせずに使用したいと考えています。モジュールをtypescriptでグローバル化する方法

純粋なJavaScriptでは、それは

window.mylib = require("mylib") 

としては簡単だが、どうやらあなたは「モジュール」と「周囲」のコードを混在させることはできませんので、私はそれが困難な活字体で行うことを見つけることです。だから、これは動作しません:

import MyLib = require("mylib"); 
window.mylib = MyLib; 
interface Window { 
    mylib: mylib; 
} 

ウィンドウインターフェースが一つだけのファイルのために拡張されているので。

カスタムmylib.d.tsの生成は含まれていません。

yourModule.ts

import MyLib = require("mylib"); 

export {}; 

declare global { 
    interface Window { 
     mylib: mylib; 
    } 
} 

window.mylib = MyLib; 

、必要なときに、あなたはそれをインポートします:

import "./yourModule"; 

それは背の低い人はGlobal augmentationで説明しています

答えて

3

あなたのような何かをする必要があります。

+0

大変感謝して、 "declare global"について知りませんでした! –

関連する問題