NodeJS 服务器基本模板

news/2024/7/1 21:08:46

基本server配置

cookie / session / get数据 / post数据 / 请求方法

const express=require('express');
const static=require('express-static');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
const bodyParser=require('body-parser');
const multer=require('multer');
const consolidate=require('consolidate');

var server=express();

server.listen(8080);

//1.解析cookie
server.use(cookieParser('sdfasl43kjoifguokn4lkhoifo4k3'));

//2.使用session
var arr=[];
for(var i=0;i<100000;i++){
  arr.push('keys_'+Math.random());
}
server.use(cookieSession({name: 'zns_sess_id', keys: arr, maxAge: 20*3600*1000}));

//3.post数据
server.use(bodyParser.urlencoded({extended: false}));
server.use(multer({dest: './www/upload'}).any());

//4.配置模板引擎
//输出什么东西
server.set('view engine', 'html');
//模板文件放在哪儿
server.set('views', './views');
//哪种模板引擎
server.engine('html', consolidate.ejs);

//接收用户请求
server.get('/index', function (req, res){
  res.render('1.ejs', {name: 'blue'});
});

//4.static数据
server.use(static('./www'));

命令行

npm install express express-static cookie-parser cookie-session body-parser multer consolidate

 

基本路由配置

express路由功能

const express=require('express');

var server=express();

//目录1:/user/
var routeUser=express.Router();

routeUser.get('/1.html', function (req, res){   //http://xxx.com/user/1.html
  res.send('user1');
});
routeUser.get('/2.html', function (req, res){   //http://xxx.com/user/2.html
  res.send('user22222');
});

server.use('/user', routeUser);

//目录2:/article/
var articleRouter=express.Router();
server.use('/article', articleRouter);

articleRouter.get('/10001.html', function (req, res){   //http://xxxx.com/article/10001.html
  res.send('asdfasdfasdf');
});

server.listen(8080);

 


http://www.niftyadmin.cn/n/2013578.html

相关文章

mysql 中的信息数据库以及 shell操作sql

2019独角兽企业重金招聘Python工程师标准>>> Information_schema 是 MySQL 自带的信息数据库&#xff0c;里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢&#xff1f;元数据是关于数据的数据&#xff0c;如数据库名或表…

Makefile初探

选择一个目录创建一个Makefile文件&#xff1b; 注意第二行的开头需要时TAB建空开&#xff0c;不要用空格 执行make make的时候&#xff0c;无论你创建的是makefile还是Makefile都可以识别 &#xff0c;不在乎开头的字母是否大写。 makefile中的第一个重要概念是目标&#xff0…

葵花宝典之玩转众包——发包方

为什么80%的码农都做不了架构师&#xff1f;>>> 法则一&#xff1a; 项目发布 1. 一个简单明了的项目标题&#xff0c;有助于提高项目的报名率 项目标题是给接包方的第一印象&#xff0c;如同项目的名片&#xff0c;标题应直接明了&#xff0c;如&#xff1a;“b…

python分析nmon并获取性能指标数据的姿势是这样的

一 背景在性能测试或Linux服务器运维中&#xff0c;都会涉及对系统资源使用情况的监控&#xff0c;除了常用的系统命令外&#xff08;如top、iostat、free等&#xff09;&#xff0c;比较全面的资源数据监控工具是NMON&#xff0c;通过在服务器上运行NMON可以定期监控硬件资源并…

所有 HTTP 状态代码及其定义

代码 指示 2xx 成功 200 正常&#xff1b;请求已完成。 201 正常&#xff1b;紧接 POST 命令。 202 正常&#xff1b;已接受用于处理&#xff0c;但处理尚未完成。 203 正常&#xff1b;部分信息 — 返回的信息只是一部分。 204 正常&#xff1b;无响应 — 已接收…

Integer值判断是否相等问题

Integer值判断是否相等问题 昨天在开发中遇到一个问题&#xff0c;定义了两个Integer变量&#xff0c;暂且定义为Integer a; Integer b; 这两个值由前端赋值并传到后台&#xff0c;前台传的是a 12345, b 12345, 但我在后台比较的时候 if (a b)&#xff0c;却返回false&…

【转】Java面试题全集(上)

准备从C#转java&#xff0c;在找工作之前准备看看面试题&#xff0c;有幸看到大神的作品&#xff0c;mark一下&#xff0c;以后慢慢看。。。 2013年年底的时候&#xff0c;我看到了网上流传的一个叫做《Java面试题大全》的东西&#xff0c;认真的阅读了以后发现里面的很多题目是…

hibernate的类注解

2019独角兽企业重金招聘Python工程师标准>>> Teacher.java package com.mao; import javax.persistence.Entity; import javax.persistence.Id; /老师实体类/ Entity(name"hu_teacher")//name的值可以是自己指定表的名字&#xff0c;默认是类名的小写 Tab…