学习node用express框架做了一个相册展示及上传功能:

1.没有连接服务器,这里全部是操作文件夹

2.安装上传文件的依赖formidable,npm install --save formidable

github地址:https://github.com/zuomm/photo

下面整理下项目创建过程:

一.npm init 生成packege.json项目依赖的环境

二.自行创建文件夹结构

——controller  只负责方法罗列

    —route.js   路由只是方法罗列,具体业务写在module里

——modules   模型,处理业务逻辑脏活累活

    —files.js

——node_modules  项目依赖(npm install --save modulename

——uploads     文件上传的目录

——public        存放静态资源(css,js)

——views        静态资源文件(jade,ejs,html)

——app.js       项目入口文件

——package.json   项目环境配置文件

三.开始写入口文件app.js的代码

//引入express框架
var express = require("express");
//引入路由
var router = require("./controller/route.js");
var app = express();
//设置模板引擎
app.set("view engine","ejs"); //设置静态资源库路径
app.use(express.static("./public/"));
app.use(express.static("./uploads/")); //路由地址设置
app.get("/",router.showIndex); /**
* /:photoName 路径参数
* 用 req.params[photoName] 来获取
*/
app.get("/:photoName",router.showPhoto); //路由上传图片
app.get("/up",router.showUp);
app.post("/up",router.doPost); //路由设置错误页面
app.use(function(req,res){
res.render("err");
}); //端口设置
app.listen(3004,function(){
console.log('服务器已经运行在3004端口');
}); /*
不要把所有业务都写在一个文件当中,这样子即算不运行代码本身,但是也占用了加载打开的速度
*/

四.开始按照路由->逻辑->展示render()思路写代码

node学习笔记_04 express相册的更多相关文章

  1. node学习笔记_03 express框架

    express api地址:http://www.expressjs.com.cn/starter/static-files.html 一.安装依赖 npm i --save express npm ...

  2. node学习笔记(二)(ajax方式向node后台提交数据)

    通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...

  3. node学习笔记第一天

    ES6---* JavaScript语言随着使用的人越来越多,ECMA语法规范:if/else* 为了让js语言更适应大型应用的开发.旨在消除一些怪异的行为 ### 包含内容(strict严格模式)- ...

  4. Node学习笔记(四):gulp+express+io.socket部署angularJs2(填坑篇)

    这篇就先暂停下上篇博客--你画我猜的进度,因为在做这个游戏的时候,想采用最新的ng2技术,奈何坑是一片又一片,这边就先介绍下环境部署和填坑史 既然要用ng2,首先要拿到资源,我这边用的是angular ...

  5. node.js在windows下的学习笔记(7)---express的app.js的详细配置说明

    var express = require('express'); var path = require('path'); var favicon = require('serve-favicon') ...

  6. node.js 基础学习笔记3 -express

    1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...

  7. node 学习笔记

    以下笔记默认安装完成node 及npm 1.安装express 新版本的express-generator已经独立出来,全局安装这个包就ok. npm install express-generato ...

  8. node学习笔记-搭建node环境

    最近项目要用到node,利用空闲整理做下笔记 第一步  安装node,方式比较多,最为直接的是直接去官网     可直接从官网下载安装http://nodejs.cn/download/ 根据自己情况 ...

  9. Nodejs全站开发学习系列 & 深入浅出Node学习笔记 & Spider抓取

    https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-S ...

随机推荐

  1. 深入理解苹果系统(Unicode)字符串的排序方法

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由iminder发表于云+社区专栏 Unicode编码 我们知道计算机是不能直接处理文本的,而是和数字打交道.因此,为了表示文本,就建立 ...

  2. [Luogu 3401] 洛谷树

    Description 有一棵树,要求支持 查询两点间简单路径的所有子链的异或和的和 修改某条边的权值 Solution 这种树上异或问题首先应该想到对于每个点存下一个前缀异或和表示这个点到根节点路径 ...

  3. javascript如何处理很多数据,类似分页切换

    需求:一个用户列表数据,如果对应列表数据大于10个,就每10个保存到二维数组,后面不足10个的依然放在二维数组尾部 用处:模拟分页,或者局部刷新 在线DEMO:戳这里 var obj=[ { &quo ...

  4. lfs(systemd版本)学习笔记-第2页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd)学习笔记-第1页 的地址:https://www.cnblogs.com/renren-study-no ...

  5. Python 线程同步锁, 信号量

    同步锁 import time, threading def addNum(): global num num -= 1 num = 100 thread_list = [] for i in ran ...

  6. 洛谷P4438 [HNOI/AHOI2018]道路(dp)

    题意 题目链接 Sol 每当出题人想起他出的HNOI 2018 Day2T3,他都会激动的拍打着轮椅 读题比做题用时长系列... \(f[i][a][b]\)表示从根到\(i\)的路径上,有\(a\) ...

  7. 笔记-返回到前一个页面时显示前一个页面中ajax获取的数据

    笔记第一部分:http://www.cnblogs.com/zczhangcui/p/6869219.html 在第一部分遇到的问题是,用ajax获取了一系列列表信息后,拼接好html后插入到了原有页 ...

  8. element UI实现表格中添加开关控制按钮

    我使用的是element ui V1.4.3 如下图是我要实现的效果: <template> <div> <el-button type="text" ...

  9. 【读书笔记】iOS-属性

    assign:简单的赋值. retain:赋值之后,会调用新的retain方法和旧值的release方法. copy:表示先将值拷贝一份,然后,将这个拷贝赋值给实例变量,这个修饰词只适用于实现了NSC ...

  10. SD从零开始65 框架协议(Outline Agreement)

    SD从零开始65 框架协议(Outline Agreement) 合同-销售凭证类型Contracts-Sales Document Types 框架协议在几乎所有的业务处理中都扮演重要的角色:客户和 ...