express 学习

安装 express
目录结构

  • controller 暴露 显示某个页面
  • models 写主要逻辑方法,读文件,连库
  • public 静态资源文件
  • views 模板文件
  • app.js 入口文件
  • package.json …

写入口文件

app.use(express.static("./public"));
//静态文件目录
app.get("/",router.showIndex);
//设置路由跳转的目录 
//输出展示的首页
exports.showIndex = function (req,res,next) {
    //内层函数,不是return回来东西,而是调用高层函数提供的回调函数。把数据当做回调函数的参数来使用。
    var des = "花千束"
    file.getAllAlbum(function (err,allAlabums) {
        if(err){
        //如果错误,执行下一个
            next();
            return;
        }
        //渲染 views/index模板 并给模板传参数 
        res.render("index",{
            "albums":allAlabums,
            "description":des
        })
    })
}
//读文件
exports.getAllAlbum = function (callback) {
    fs.readdir("./uploads",function (err,files) {
        var allAlbums = [];
        if(err){
            callback("没有找到uploads文件",null);
            return;
        }
        //迭代器 立即执行函数 (function(){})()
        (function iterator(i) {
            if(i == files.length){
            //文件读取完毕 返回allAlbums(文件夹)
                callback(null,allAlbums);
                return;
            }
            //检测文件是否存在
            fs.stat("./uploads/"+files[i],function (err,stats) {
                if(err){
                    callback("找不到文件"+files[i],null);
                    return;
                }
                //判断是文件夹
                if(stats.isDirectory()){
                    allAlbums.push(files[i])
                }
                //调用自身 类似递归函数
                iterator(i+1);
            })
        })(0)
    })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值