2016-06-23 7 views
1

フロータイプのチェックに.js.flowスタイルを使用していますが、実行できません。共通jsでflowtypeを.js.flowスタイルで使用する方法

私はプロジェクトの制限によりCommonJSを使用しています。

/*-------- state.js -------------*/ 
 

 
//@flow 
 
module.exports = newstate; 
 
function newstate() { 
 
    return { 
 
     name: 'a name' 
 
    } 
 
} 
 

 
/*-------- state.js.flow -------------*/ 
 
//@flow 
 
declare var exports:() => { 
 
\t name: string 
 
} 
 

 
/*-------- main.js -------------*/ 
 
//@flow 
 
var getstate = require('../state'); 
 
var a = getstate(); 
 
a.name = "123";
私は上記のコード( 'フローmain.js')、それが正常に型チェックを実行し、私は a.name = "123" ==> a.name = 123を変更した場合、それは型エラーを検出することができますを実行している

成功しました。

唯一の事は私を気に、私はフロータイプのチェックを実行するたびに、それは次のように文句を言う:

> node_modules/flow-bin/cli.js 

path/to/project/state.js.flow:2 
    2: declare var exports:() => { 
         ^function type. Callable signature not found in 
exports 


Found 1 error 

私が間違ってやったのはどの部分?

ありがとうございました

答えて

0

あなたが解決したかどうかわかりません。しかし、declare var exports:...を使用するには、モジュール内で宣言する必要があります。

declare module state { 
    declare var exports:() => { name: string } 
} 

それともdeclare module.exports:() => { name: string }

を使用して、しかし、あなたはすでにあなたのstate.jsファイルや流れの中@flowは恐ろしい種類

+0

を推測することができます持っているとして、あなたはまた、state.js.flowを使用することができなかった、私は試してみるよ – garyx

関連する問題