es6导出函数“不是函数”

时间:2017-12-28 00:20:31

标签: javascript

我想创建一个库文件,在其中传入一个值,它返回一个调用已创建的localforage实例的对象。

已编辑:简化代码仍然不起作用

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:Object(...)不是函数

我做错了什么?为什么我不能调用我的功能?

1 个答案:

答案 0 :(得分:1)

您无法导出未定义的变量。在您编写代码的方式中,getTitlesDb尚未定义。

有两种可能的解决方案。第一个是将您的函数命名为与export语句相同的行。

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

第二个是将函数声明为变量,然后导出变量。

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

export default getTilesDb;