node express框架基本配置
node express框架基本配置
初始化项目
- express -e
安装依赖包
- npm install
安装第三方包
- npm install xxx --save-dev
dos 运行node app 项目就可以跑起来了
app.js入口文件解释
- /*应用程序的启动(入口)文件*/
- //加载express模块
- var express = require('express');
- //加载数据库
- var mongoose = require('mongoose');
- //加载body-parser,用来处理post提交过来的数据
- var bodyParser = require('body-parser');
- //加载cookie模块
- var Cookies = require('cookies');
- //创建app应用
- var app = express();
渲染html模板
- //加载模板处理模块
- var swig = require('swig');
- //定义当前应用所用的模板引擎
- //第一个参数:模板引擎的名称,同时也是模板文件的后缀,第二个参数解析模板内容的方法
- app.engine('html', swig.renderFile);
- //设置文件存放目录,第一个参数必须是views,第二个参数是目录
- app.set('views', './views');
- //注册使用的模板引擎,第一个参数必须是view engine,第二参数是app。engine第一个参数是一致的
- app.set('view engine', 'html');
设置静态文件托管
- //当文件访问以/public开头,那么直接返回对应__diername+'/public'下的文件
- app.use('/public', express.static(__dirname + '/public'));
在开发过程中取消模板缓存
- swig.setDefaults({ cache: false })
启动数据库
- //--dbpath:mongdb路径,--port:端口号
- mongod --dbpath=C:\Users\YEZI\Desktop\yzblog\db --port 27018
连接数据库
- var mongoose = require('mongoose'); //引用数据库模块
- mongoose.connect('mongodb://localhost:27018/yzblog'); //连接数据库
- var db = mongoose.connection;
- db.on('error', console.error.bind(console, 'connection error:'));
- db.once('open', function() {
- console.log('数据库已打开!');
- })
请求对象
- //访问请求对象(request object (req)),响应对象(response object (res))
- // GET请求路由
- app.get('/', function (req, res) {
- res.send('GET request to the homepage');
- });
- // POST请求路由
- app.post('/', function (req, res) {
- res.send('POST request to the homepage');
- });
- app.all() //是一个特殊的路由方法,没有任何 HTTP 方法与其对应,它的作用是对于一个路径上的所有请求加载中间件。在下面的例子中,来自 “/secret” 的请求,不管使用 GET、POST、PUT、DELETE 或其他任何 http 模块支持的 HTTP 请求,句柄都会得到执行。
- app.all('/secret', function (req, res, next) {
- console.log('Accessing the secret section ...');
- next(); // pass control to the next handler
- });
相应对象
- //下表中响应对象(res)的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。
- res.download() //提示下载文件。
- res.end() //终结响应处理流程。
- res.json() //发送一个 JSON 格式的响应。
- res.jsonp() //发送一个支持 JSONP 的 JSON 格式的响应。
- res.redirect() //重定向请求。
- res.render() //渲染视图模板。
- res.send() //发送各种类型的响应。
- res.sendFile //以八位字节流的形式发送文件。
- res.sendStatus() //设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。
node express框架基本配置的更多相关文章
- express框架路由配置及congtroller自动加载
express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模 ...
- node+express框架中连接使用mysql经验总结
最近在学习node.js,做了一个练手项目,使用node.js+express框架,配合mysql数据库和前端vue框架开发一个多人文档编辑系统. koa,express,node 通用方法连接MyS ...
- node -- express框架
express node的一个框架 安装express cnpm install express -S 引入 const express = require("express"); ...
- node——express框架
express基于Node.js是一个web开发框架,web框架是为了我们开发更方便,更简洁,更高效. 英文网址 中文网址 安装: npm install express --save express ...
- Node Express 4.0 安装
前言 今天想要用nodejs 写个后台服务,很久之前看过node express 框架,可真当向下手安装的时候,发现好多命令都不记得了.写完后台服务,没事了,总结了下安装过程,记录一下,以便以后查阅方 ...
- 配置node.js中的express框架
玩node.js,不玩后台那就是杀鸡牛刀,今天没事整理一下以前开发node.js后台的心得 1.首先安装node.js以及cnpm,在这儿我就不说了,看我node.js中的另一篇文章node.js的安 ...
- node.js 框架express关于报错页面的配置
1.声明报错的方法,以及相对应的页面 //把数据库的调用方法配置到请求中 server.use((req, res, next) => { //把数据库存入req中 req.db = db; / ...
- Node.js Express 框架学习
转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...
- Node.js基于Express框架搭建一个简单的注册登录Web功能
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...
随机推荐
- extract
w http://php.net/manual/en/function.extract.php <?php /* Suppose that $var_array is an array retu ...
- docker logspout
https://hub.docker.com/r/jplock/rsyslog/ docker pull jplock/rsyslog:8.2.2 docker run -d -p 514:514 j ...
- python系列十三:Python3 输入输出
#!/usr/bin/python #Python3 输入输出 import math'''输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数.第三种方式是使用文件对象的 ...
- 为什么一定要调用 setlocale 呢? 因为在 C/C++ 语言标准中定义了其运行时的字符集环境为 "C" ,也就是 ASCII 字符集的一个子集。使用setlocal改变整个应用程序的字符集编码方式(wcstombs使用前要设置 setlocale (LC_ALL, "chs"); )
setlocale 配置地域化信息. 语法: string setlocale(string category, string locale); 返回值: 字符串 函数种类: 操作系统与环境 内容 ...
- Android系统移植与调试之------->增加一个双击物理按键打开和关闭闪光灯并将闪光灯状态同步到下拉菜单中
最近有一个客户有这样的需求: 1.在[设置]--->[无障碍]中添加一个开关按钮. 如果打开开关的话,双击某个物理按键的时候,打开闪光灯,再双击该物理按键的时候,关闭闪光灯. 如果关闭开关的话, ...
- Spring学习笔记3—声明式事务
1 理解事务 事务:在软件开发领域,全有或全无的操作被称为事务.事务允许我们将几个操作组合成一个要么全部发生要么全部不发生的工作单元. 事务的特性: 原子性:事务是由一个或多个活动所组成的一个工作单元 ...
- ABAP发邮件函数
步骤: 一.检查输入参数, (1)未指定文件類別代碼,(2)未指定郵件主題, (3)未指定郵件內容, (4)未指定發送人郵件地址, (5)未指定接收人郵件地址, 二.调用发送功能, (1)创建发送请求 ...
- Java设计模式之《单例模式》及应用场景(转发:http://www.cnblogs.com/V1haoge/p/6510196.html)
所谓单例,指的就是单实例,有且仅有一个类实例,这个单例不应该由人来控制,而应该由代码来限制,强制单例. 单例有其独有的使用场景,一般是对于那些业务逻辑上限定不能多例只能单例的情况,例如:类似于计数器之 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考
摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...
- 更改计算机名称,影响TFS之前映射的工作区 使用。
今天把自己电脑的计算机名称改了,打开vs2012的时候,就提示以下的错误: ---------------------------Microsoft Visual Studio------------ ...