无法使用fuse.js库获取搜索结果数组

时间:2018-07-31 18:08:16

标签: javascript fuse.js

//partial server.js file

var caterFile = './caterList.json';
var Fuse = require('fuse.js');

app.post('/search', function(req,res) {
  fs.readFile(caterFile, (err,data) => {
  if(err)
   console.log(err);
  else{
  const fileData = JSON.parse(data);
  var str   = req.body.search;

  var options = {
    shouldSort: true,
    threshold: 0.6,
    location: 0,
    distance: 100,
    maxPatternLength: 32,
    minMatchCharLength: 1,
    keys: [
      "fileData.name"
  ]
  };

  var fuse = new Fuse(fileData, options); // "list" is the item array
  var result = fuse.search(str);
  console.log(Fuse);
  console.log(result);

}res.send({result});
})
})

获取一个空数组作为结果。 当我记录保险丝时,我将数组对象放在如下的“列表”中。

Fuse{  
options:{  
    location:0,
    distance:100,
    threshold:0.6,
    maxPatternLength:32,
    isCaseSensitive:false,
    tokenSeparator:/ +/g,
    findAllMatches:false,
    minMatchCharLength:1,
    id:null,
    keys:[  
        'fileData.name'
    ],
    includeMatches:false,
    includeScore:false,
    shouldSort:true,
    getFn:[  
        Function
    ],
    sortFn:[  
        Function
    ],
    verbose:false,
    tokenize:false,
    matchAllTokens:false
},
list:[  
    {  
        name:'Cater1',
        img:'/1.png',
        menu:[  
            Object
        ],
        price:[  
            Array
        ],
        bookedDates:[  

        ]
    },
    {  
        name:'Cater2',
        img:'/1.png',
        menu:[  
            Object
        ],
        price:[  
            Array
        ],
        bookedDates:[  

        ]
    },
    {  
        name:'Box',
        img:'/1.png',
        menu:[  
            Object
        ],
        price:[  
            Array
        ],
        bookedDates:[  

        ]
    }
]
}

我还尝试在保险丝的index.js文件中的search()函数中记录一些内容,但无法获取。

我已经使用npm安装了保险丝库。

我正在使用保险丝版本fuse@0.4.0。

我还尝试了this链接来解决该问题,但是它不起作用。

0 个答案:

没有答案