文件夹列表

作者: 云香水识 | 来源:发表于2014-12-28 20:16 被阅读42次

准备

使用 $npm install http-f2e-server@0.0.6 进行安装之前版本,本篇在此基础上开发一个基于模板引擎的文件夹列表展示

主流程嵌入

fs.stat() 中判断当前url映射为路径:

else if(!error && stats && stats.isDirectory && stats.isDirectory() ){
    require('./lib/directory').execute(pathname, root, req, resp);
}

directory 模块

  • 先创建一个html模板文件在 lib/tmpl/folder.html, 内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><%=title%></title>
</head>
<body>
    <ul>
        <li><a href="<%=parent%>">../</a></li>
        <%files.forEach(function(file){
            print( '<li><a href="'+base+file+'">'+file+'</a></li>' );
        })%>
    </ul>
</body>
</html>
  • 加载该文件文本到模块中:
var template = _.template( fs.readFileSync( __dirname + '/tmpl/folder.html','utf-8') );
  • 获取文件夹列表并渲染结果, 如果获取失败输出异常的json格式数据
fs.readdir(root+pathname, function(error, files){
    if(error){
        resp.writeHead(500, {"Content-Type": mime.lookup( ".json" )});
        resp.end( JSON.stringify( error ) )
    }else{
        resp.end( template({
            files: files,   //文件(夹)列表
            title: pathname,    //标题显示
            parent: pathname.match(/[\\\/]$/) ? "../" : "./",   //根据结尾分隔符处理回到上级目录链接
            base: "/"+pathname.replace(/(\w+)$/,"$1/")  //拼接目录链接和文件(夹)的绝对路径
        }) );
    }
});

PS:

相关完整代码已经发布到了npm仓库中, 可以使用 $npm install http-f2e-server@0.0.7 进行安装或者更新。进入目录后使用 $node http-f2e-server.js 启动服务,并查看Demo。

相关文章

  • 文件夹列表

    准备 使用 $npm install http-f2e-server@0.0.6 进行安装之前版本,本篇在此基础上...

  • 匿名函数

    1. 递归列出目录里的文件 os.listdir(),返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字...

  • Node-文件操作常用封装

    一、判断类 检测文件或者文件夹存在 nodeJS 文件夹还是文件 二、读取类 读取文件夹下的所有文件列表 获取文件...

  • 文件夹的相关操作

    <1>创建文件夹 <2>获取当前目录 <3>改变默认目录 <4>获取目录列表 <5>删除文件夹

  • SVN命令行的使用

    svn命令行添加ignore文件或文件夹 svn propset svn:ignore 忽略列表 文件夹(这里是....

  • PHP文件系统之获取目录列表

    获取某一目录的文件或文件夹列表,并且实现点击文件夹可以继续查看该文件夹内部的文件或文件夹。 获取文件的大小 文件大...

  • 命令行操作笔记

    一、文件夹相关操作 1、查看文件列表 ls2、创建文件夹 mkdir 文件名3、进入文件夹 cd 文件名 二...

  • 【算法题】1233. 删除子文件夹

    题目: 你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任...

  • odoo V10中文参考手册(指导规范)

    指导规范 模块构造 文件夹 模块的文件夹列表及对应作用: data/ 演示和实际数据的xml models/ 模型...

  • os.listdir()函数

    os.listdir()用法描述 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表...

网友评论

    本文标题:文件夹列表

    本文链接:https://www.haomeiwen.com/subject/xwzatttx.html