vue中读取txt文件内容,并根据内容进行筛选过滤
1.通过请求后端接口获取到文件的路径。
2.比如 res.data.data.filePath是获取到的文件路径,则可以通过axios.get方式读取文件内容
let Words = []
// 通过请求接口获取文件路径
filterSensitive().then(res => {
console.log(res)
// 读取文件内容赋值给Words
axios.get('/api' + res.data.data.filePath).then(res => {
Words = res.data.split('\n').map(v => v.trim()).sort((a, b) => b.length - a.length)
}).catch(err => {
console.log('--err--', err)
})
}).catch(err => {
console.log('--err--', err)
})
把Words赋值给全局vue,可以在其他文件中使用
Vue.prototype.$sensitiveWords = Words
对读取到的内容进行过滤,并与*代替
Vue.prototype.$filterWord = (s) => {
let temp = s
Words.forEach(v => {
temp = temp.replace(new RegExp(v.trim(), 'gi'), '*')
})
return temp
}