//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链接来解决该问题,但是它不起作用。