node学习笔记_04 express相册
学习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相册的更多相关文章
- node学习笔记_03 express框架
		
express api地址:http://www.expressjs.com.cn/starter/static-files.html 一.安装依赖 npm i --save express npm ...
 - node学习笔记(二)(ajax方式向node后台提交数据)
		
通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...
 - node学习笔记第一天
		
ES6---* JavaScript语言随着使用的人越来越多,ECMA语法规范:if/else* 为了让js语言更适应大型应用的开发.旨在消除一些怪异的行为 ### 包含内容(strict严格模式)- ...
 - Node学习笔记(四):gulp+express+io.socket部署angularJs2(填坑篇)
		
这篇就先暂停下上篇博客--你画我猜的进度,因为在做这个游戏的时候,想采用最新的ng2技术,奈何坑是一片又一片,这边就先介绍下环境部署和填坑史 既然要用ng2,首先要拿到资源,我这边用的是angular ...
 - node.js在windows下的学习笔记(7)---express的app.js的详细配置说明
		
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon') ...
 - node.js 基础学习笔记3 -express
		
1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...
 - node 学习笔记
		
以下笔记默认安装完成node 及npm 1.安装express 新版本的express-generator已经独立出来,全局安装这个包就ok. npm install express-generato ...
 - node学习笔记-搭建node环境
		
最近项目要用到node,利用空闲整理做下笔记 第一步 安装node,方式比较多,最为直接的是直接去官网 可直接从官网下载安装http://nodejs.cn/download/ 根据自己情况 ...
 - Nodejs全站开发学习系列 & 深入浅出Node学习笔记 & Spider抓取
		
https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-S ...
 
随机推荐
- Netty精粹之玩转NIO缓冲区
			
摘要: 在JAVA NIO相关的组件中,ByteBuffer是除了Selector.Channel之外的另一个很重要的组件,它是直接和Channel打交道的缓冲区,通常场景或是从ByteBuffer写 ...
 - javascript的作用域和优先级
			
变量的作用域是在定义时决定的,不是在运行时活动对象是在运行时决定的?如果就创建一个对象,使用完毕就完了,就使用json字面量的方式如果对象被反复创建,反复使用,就使用自定义的构造函数方式优先级内部变量 ...
 - SQL Server 数据类型映射(转载)
			
SQL Server 数据类型映射 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 S ...
 - switch case语句中能否作用在String,long上
			
在之前的eclipse中使用switch的case语句时是只能为(byte,short,char)int类型或枚举类型.但在jdk1.7以后 在case语句中是可以使用String 以及long 等类 ...
 - array.js
			
// “最后加” concat 连接两个或更多的数组,并返回结果. var a = ['a','b','c']; var b = ['x','y','z']; var c = a.concat(b,t ...
 - spring boot 随手记
			
1.当加入security 起步依赖后,如果不做任何手动配置的话,默认会跳转到一个登录页面,不管你喜不喜欢,所有的请求都必须登录,用户名和密码是保存在内存中的, 默认用户名是user 密码在控制台里 ...
 - 微信小程序踩过的一些坑
			
前言 迄今为止,正儿八经的上线了真正意义上的程序,但是这个小程序却着实不小. 之所以不小,是因为这个类似于社区的小程序,已经做了大部分都有的功能了 举例说明,具体的一些功能点: 1.帖子列表页面:会有 ...
 - JSONArray.toJSONString json乱码
			
前提:配置文件已经配置了: <mvc:annotation-driven> <!-- 处理请求返回json字符串的中文乱码问题 --> <mvc:message-conv ...
 - (网页)Http状态码大全(200、404、500等)(转CSDN)
			
当我们从客户端向服务器发送请求时 服务器向我们返回状态码 状态码就是告诉我们服务器响应的状态 通过它,我们就可以知道当前请求是成功了还是出现了什么问题 状态码是由3位数字和原因短语组成的(比如最常见的 ...
 - 12.2、多线程通信:queue
			
queue: 什么是队列:是一种特殊的结构,类似于列表.不过就像排队一样,队列中的元素一旦取出,那么就会从队列中删除. 线程之间的通信可以使用队列queue来进行 线程如何使用queue.Queue[ ...