代码拉取完成,页面将自动刷新
const fs = require('fs')
const path = require('path')
const { formatTime, formatSize } = require('./utils')
const ip = require('ip')
const express = require('express')
const app = express()
/**
* @description 递归获取文件夹下所有文件和文件夹,返回树形结构
* @param {String} filePath 文件夹路径
* @returns {Array} 文件树
*/
const fileDisplay = (filePath) => {
const files = fs.readdirSync(filePath)
const fileList = []
files.forEach((filename) => {
const filedir = path.join(filePath, filename)
const stats = fs.statSync(filedir)
const isFile = stats.isFile()
const isDir = stats.isDirectory()
//跳过隐藏文件和modules文件夹
if (filename.startsWith('.') || filename === 'node_modules') return
if (isFile) {
fileList.push({
name: filename,
type: 'file',
fileType: path.extname(filename),
size: formatSize(stats.size),
time: formatTime(stats.mtime),
//访问路径
url: `http://${ip.address()}:12345/${path.relative(path.resolve(__dirname, './'), filedir).replace(/\\/g, '/')}`,
})
}
if (isDir) {
fileList.push({
name: filename,
type: 'dir',
time: formatTime(stats.mtime),
size: formatSize(stats.size),
children: fileDisplay(filedir),
})
}
})
return fileList
}
module.exports = fileDisplay
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。