2017-12-28 4 views
0

私は値を渡すライブラリファイルを作成し、作成したlocalforageのインスタンスを呼び出すオブジェクトを返します。es6関数 "not a function"

EDITED:簡略化されたコードはまだ

export default function(walkId) { 
    var store = localforage.createInstance({ 
     name: walkId 
    }); 

    var tilesDb = { 
     test: 'val' 
    }; 

    return tilesDb; 
} 

を仕事と私はこのようにそれをインポートしません:私はそれを呼び出すとき

import getTilesDb from './tilesDb'; 

しかし:

let tilesDB = getTilesDb(someIdhere); 

私が手エラーTypeError:オブジェクト(...)は関数ではありません

私は何が間違っていますか?なぜ私の機能を呼び出すことができないのですか?

+0

それは関数ではないので、それを呼び出すことはできません。それほど明白です:) – destoryer

+0

どこから呼びますか?正しいモジュールをインポートしていますか?これらは唯一の2つのモジュールですか?あなたはどのようにモジュールを走らせるのですか? – Bergi

答えて

1

未定義の変数をエクスポートすることはできません。あなたのコードを書いたやり方では、getTitlesDbはまだ定義されていません。

解決策は2つあります。最初の1つは、exportステートメントと同じ行に関数の名前を付けることです。

export default function getTilesDb(walkId) { ... } 

第2の方法は、関数を変数として宣言して変数をエクスポートすることです。

const getTilesDb = function(walkId) { ... } 

export default getTilesDb; 
+0

'export default function(walkId){...}'では、未定義のものは何もありませんか? – Bergi

+0

実際には未定義の変数を1つエクスポートできます。彼らはちょうどどこかで宣言する必要があります。 – Bergi

関連する問題