2016-06-27 1 views
0

JavaScriptコードをTypeScriptのnpmモジュールに移動して、問題が再発するようにしました。 (インストール活字体の種類と反応している)TypeScriptのインポートステートメントをJavaScriptから変換しました

import React, { Component } from "react" 

になった:私は、コードは再び作業を取得するために輸入文に次の変更を加えた

import * as React from 'react'; 
import { Component } from 'react'; 

ヘルメットは、活字体の型を持っていましたが、問題を持っていたので、私タイプなしでライブラリの次の形式を使用します。

import Helmet from "react-helmet" 

になった:

私は、これは不要であることを確認、または可能性があり
const TopBarProgressIndicator = require('react-topbar-progress-indicator').default; 

が(現在または予定)任意の活字体の設定の変更があります:

import TopBarProgressIndicator from "react-topbar-progress-indicator" 

になる:210

は、その後、時々私は、デフォルト呼び出す必要がありますそれは時間がかかり、エラーが発生しやすいので、これを行うためのよりよい方法ですか?私は.jsファイルを処理するように見えるtsconfigのallowJsフラグを認識していますが、.tsファイルにしたいと思います。私は現在TypeScript 1.8.10とWebpackを使用しています。

答えて

0

大抵の場合、アンビエント宣言用のファイルがあります(declarations.d.tsと呼びます)。タイプが定義されていないライブラリを使用している場合は、そのファイルにスタブ定義を追加するだけです。any値。

declare module "react-helmet" { 
    var _temp: any; 
    export = _temp; 
} 

すでにリアクトで行っているので、これは、あなたがimport * as Helmet from "react-helmet"を使用してモジュールをインポートすることができます。

planned update to TypeScriptがあります。これは、はるかに小さな構文でこれを行うことができます。これは次のようになります。

declare module "react-helmet"; 
+0

ありがとうございます。以前はそれを見たことがありますが、それはもっとうまくいくと思っていますが、依然としてimport文を変更する必要があります。 – RationalDev

関連する問題