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框架基本配置的更多相关文章

  1. express框架路由配置及congtroller自动加载

    express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模 ...

  2. node+express框架中连接使用mysql经验总结

    最近在学习node.js,做了一个练手项目,使用node.js+express框架,配合mysql数据库和前端vue框架开发一个多人文档编辑系统. koa,express,node 通用方法连接MyS ...

  3. node -- express框架

    express node的一个框架 安装express cnpm install express -S 引入 const express = require("express"); ...

  4. node——express框架

    express基于Node.js是一个web开发框架,web框架是为了我们开发更方便,更简洁,更高效. 英文网址 中文网址 安装: npm install express --save express ...

  5. Node Express 4.0 安装

    前言 今天想要用nodejs 写个后台服务,很久之前看过node express 框架,可真当向下手安装的时候,发现好多命令都不记得了.写完后台服务,没事了,总结了下安装过程,记录一下,以便以后查阅方 ...

  6. 配置node.js中的express框架

    玩node.js,不玩后台那就是杀鸡牛刀,今天没事整理一下以前开发node.js后台的心得 1.首先安装node.js以及cnpm,在这儿我就不说了,看我node.js中的另一篇文章node.js的安 ...

  7. node.js 框架express关于报错页面的配置

    1.声明报错的方法,以及相对应的页面 //把数据库的调用方法配置到请求中 server.use((req, res, next) => { //把数据库存入req中 req.db = db; / ...

  8. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  9. Node.js基于Express框架搭建一个简单的注册登录Web功能

    这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...

随机推荐

  1. jetty 通过配置文件嵌入式启动web服务

    定义 jetty.xml 启动文件 <?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty/ ...

  2. 学习 SSH

    ssh_config 与 sshd_config ssh_config: configuration file for the ssh client on the host machine you a ...

  3. 时间格式化输出strtime

    The format argument consists of one or more codes; as in printf, the formatting codes are preceded b ...

  4. Java基础 - 函数与方法

    java 是一门面向对象编程,其它语言中的函数也就是java中的方法 方法的基本使用方法 package com.demo7; /* * 函数/方法 * * 定义格式: * 修饰符 返回值类型 方法名 ...

  5. 比较运算符compareTo()、equals()、==之间的区别

    前言 首先再次强调hashcode (==)和equals的真正含义(我记得以前有人会说,equals是判断对象内容,hashcode是判断是否相等之类): equals:是否同一个对象实例.注意,是 ...

  6. 0x03 MySQl 库操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

  7. Linux服务管理(开启关闭防火墙)

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  8. 字符串之strchr

    功能:查找字符在字符串中第一次出现的位置. #include <iostream> #include <assert.h> using namespace std; char ...

  9. C++ 语言操作符的优先级

    cppreference.com -> C++ 操作符优先级 C++ 操作符优先级        优先级     操作符 1 () [] -> .   ::         ! ~ ++ ...

  10. requirejs神奇问题,data-main修改后,刷新没有重新载入

    同事在使用require的时候,在配置地方增加 urlArgs: "bust=" +  (new Date()).getTime(), 然后问题又来了,这个相当于js版本的东东会把 ...