zoukankan      html  css  js  c++  java
  • 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:UsersYEZIDesktopyzblogdb --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()	//设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。
    

      

  • 相关阅读:
    rs
    stm32f767 usoc3
    stm32f767 RTT 日志
    stm32f767 标准库 工程模板
    stm32f767 HAL 工程模板
    docker tab 补全 linux tab 补全
    docker anconda 依赖 下载 不了
    docker run 常用 指令
    linux scp 命令
    Dockerfile 常用参数说明
  • 原文地址:https://www.cnblogs.com/yz-blog/p/7887078.html
Copyright © 2011-2022 走看看