2016-03-31 25 views
0

Visual Studio 2013/TypeScript 1.8.5/NPM/Typings kullanıyorum.Modülsüz ortamda güçlü ad olmadan TypeScript tanım dosyası nasıl kullanılır?

Bazı React JSX ve daha önemlisi, hiçbir modül olmadan, TypeScript'i ES5 koduna derlemek istiyorum.

Bazı tanım dosyalarının yazılması, bana yalnızca bir modül adlı bir dizeye sahip olmanın getirilmesidir. "Dizesi adında" ile, böyle demek:

declare module "redux-devtools" {} 

diğerleri varsa bu:

i doğrudan bu tanımları kullanabilir, "güçlü Adını" dediğimiz var
declare namespace Redux {} 
declare module "redux" {} 

benim kodu.

var foobar = Redux; 

Ancak, yalnızca modül adı verilen bir dize olduğunda, bunları nasıl kullanacağımı bilmiyorum. Anladığım kadarıyla, bir içe aktarma ifadesi kullanmalıyım, ama ne zaman "modül" bayrağı verilmediyse modülleri derleyemiyorum "ve tekrar, hedef kodumdaki modülleri istemiyorum.

import { createDevTools } from 'redux-devtools'; 
const DevTools = createDevTools(/**/); 

Bunu yapmanın belirli bir yolu var mı? Yoksa ilk olarak yanlış olan redux-devtools gibi tanım dosyaları mı?

DÜZENLEME:

Ben ES6 için typescript derlemek ben harici modüller aldığınızda, artık "modüllerini derlemek edemez ..." mesajı alıyorum. Typescript artık şöyle ifadelerini oluşturur:

const redux_devtools_1 = require('redux-devtools'); 

Ben şaşırtıcı beri buluyorum ben çalışmak için bu çözüm için ES6-şim + RequireJS kullanması gerekir anlamına gelir ES6 parçası değildir '() gerektirir'?

Ayrıca, bundan böyle, genel bir '_references.ts' dosyası var:

/// <reference path="../typings/browser.d.ts" /> 

cevap

0

Kütüphanenizin tanımlarında çekmeye yerine import tabloların "triple-slash reference"/// <reference path="..."> kullanın.

Bu, TypeScript'in bu türleri bilmesini sağlar, böylece derler, ancak herhangi bir modül oluşturmaya çalışmaz.

Bu kütüphane uygulamalarının çalışma ortamı ortamınızda bulunduğundan emin olmak size kalmış.