2016-03-31 2 views
0

Visual Studio 2013/TypeScript 1.8.5/NPM/Typingsを使用しています。モジュールレス環境で厳密な名前のないTypeScript定義ファイルを使用する方法

TypeScriptをReact JSXで、さらに重要なことにモジュールなしでコンパイルしたいと思います。

いくつかの定義ファイルの入力では、私はモジュールという名前の文字列しか持っていません。

declare namespace Redux {} 
declare module "redux" {} 

i「は、厳密な名前」と呼んでいるものがある場合、私は私の中で直接それらの定義を使用することができます。他の人がこれを持っている場合は

declare module "redux-devtools" {} 

:「という名前の文字列」と、私はこのような意味しますコード。

しかし、モジュールという名前の文字列しかない場合は、その使用方法はわかりません。私が理解するところでは、import文を使用する必要がありますが、私は "--module"フラグが与えられていなければモジュールをコンパイルできません。また、ターゲットコードにモジュールを入れたくありません。

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

これを実行する特別な方法はありますか?または、それは最初の場所で間違っているredux-devtoolsのような定義ファイルですか?

EDIT:

私はES6に活字体をコンパイルする場合、私は外部モジュールをインポートするとき、私はもはや「モジュールをコンパイルすることはできません...」というメッセージが表示されますありません。活字体ではなく、このようなステートメントを生成:

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

「を必要とする)(」以来、私はそれは驚くべき発見私は、このソリューションが動作するためにES6-シム+のRequireJSを使用しなければならないことを意味する、ES6の一部ではないでしょうか?

はまた、私はこのように、一般的な「_references.ts」ファイルを持っている:

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

答えて

0

は、あなたのライブラリーの定義にプルする代わりにimport文の"triple-slash reference"/// <reference path="...">を使用してください。

これにより、TypeScriptはコンパイルできるようになりますが、モジュールは生成されません。

これらのライブラリの実装があなたの実行時環境で利用できることは、あなた次第です。

関連する問題