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. 巨蟒django之权限10,内容梳理&&权限组件应用

    1.CRM项目内容梳理: 2.权限分配 3.权限组件的应用

  2. iOS 关于多线程的一些基本概念

    一 什么是进程 进程是在系统中正在运行的应用程序!普通的应用程序并不是进程,只有正在运行的应用程序才是一个进程, 在系统中每个进程之间是相互独立的,每个进程均在其专享的且受保护的内存空间内.但是一个应 ...

  3. Springboot整合thymeleaf模板

    Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用. Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建方式,因此也可以用作静态建 ...

  4. mybatis springmvc velocity的demo

    https://codeload.github.com/xingfly/SBlog/zip/master 1.记得导入数据库并修改 数据库的配置. 2.使用jetty运行 pom 添加jetty &l ...

  5. win7安装laravel

    使用Packagist 镜像 建立一个composer.json文件,内容如下: { "name": "laravel/laravel", "desc ...

  6. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  7. Codeforces 240F. TorCoder 线段树

    线段树统计和维护某一区间内的字母个数.. . . F. TorCoder time limit per test 3 seconds memory limit per test 256 megabyt ...

  8. 《Deep learning》第四章——数值计算

    数值计算 机器学习算法通常需要大量的数值计算.这通常是指通过迭代过程更新解的估计值来解决数学问题的算法,而不是通过解析过程推导出公式来提供正确解的方法.常见的操作包括优化(找到最小化或最大化函数值的参 ...

  9. F110 参数保存和重新运行录屏

    **初始界面回车 PERFORM frm_dynpro USING ' 'X'. PERFORM frm_dynpro USING '' 'BDC_CURSOR' 'F110V-LAUFD'. PER ...

  10. numpy的通用函数:快速的元素级数组函数

    通用函数(ufunc)是对ndarray中的数据执行元素级运算的函数.可看作简单函数的矢量化包装. 一元ufunc sqrt对数组中的所有元素开平方 exp对数组中的所有元素求指数 In [93]: ...