最近在写瀑布流视图,要用到不少图片,想拿到本地图片的数据信息,因而乎就写了Node
脚本。就有了数据传输的问题。node
import
与export
,可是目前nodejs
还不支持,据说快要支持了。 因此这个行不通。node
的fs
这个对象来把数据抛到imgData.json
文件中。
- 爬虫把数据写入文件(json,js,xml,txt,log......)
js
去导入这些文件(import,require,http)
获取图片信息参考于 nodejs获取本地文件夹下的图片信息json
//获取项目工程里的图片
var fs = require('fs');//引用文件系统模块
var image = require("imageinfo"); //引用imageinfo模块
function readFileList(path, filesList) {
var files = fs.readdirSync(path);
files.forEach(function (itm, index) {
var stat = fs.statSync(path + itm);
if (stat.isDirectory()) {
//递归读取文件
readFileList(path + itm + "/", filesList)
} else {
var obj = {};//定义一个对象存放文件的路径和名字
obj.path = path;//路径
obj.filename = itm//名字
filesList.push(obj);
}
})
}
var getFiles = {
//获取文件夹下的全部文件
getFileList: function (path) {
var filesList = [];
readFileList(path, filesList);
return filesList;
},
//获取文件夹下的全部图片
getImageFiles: function (path) {
var imageList = [];
this.getFileList(path).forEach((item) => {
var ms = image(fs.readFileSync(item.path + item.filename))//获取img对象
let obj = ms
obj.name = item.filename//获取文件名
ms.mimeType && (imageList.push(obj))
});
return imageList;
}
};
//获取文件夹下的全部图片信息
var imglist=getFiles.getImageFiles("../../static/img/life/");
复制代码
fs.appendFile
把imglist
抛到imgData.json
中注意 必定要先把imglist
转为字符串抛过去,否则那边拿到的只是[Object]
这种。app
//一、清空文件数据
fs.writeFile('../js/imgData.json', '', function(){console.log('清空成功')})
//二、把获得的图片对象抛到imgData.json文件中
fs.appendFile('../js/imgData.json', JSON.stringify(imglist), (err) => {
if (err) throw err;
console.log('数据已追加到文件');
});
复制代码
imgData.json
import imgData from '../js/imgData.json'
console.log(82,imgData)
复制代码