• 前端随心记---------nodejs基础学习-Express 框架


    Express 框架简介

    1. express 框架是什么?
    2. 为什么要使用 express 框架呢?
    3. 如何使用 express 框架呢?

    express 框架是什么?

      Express基于nodejs开发的一个框架(基于http模块封装,功能更强)。
      Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

    为什么要使用 express 框架呢?

              加快项目开发,便于团队协作。
             Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。

    如何使用 express 框架呢?

     Express 入门使用

    1. express 入门使用
    2. express 路由
    3. 什么是路由?
    4. 为什么要使用路由呢?
    5. 如何使用路由呢?
    6. 什么是路由参数呢?

    Express之路由 

      路由就是当浏览器输入一个 URL 地址后,将该请求交给后台的哪一个应用程序进行处理的过程称为路由。而这样的操作需要事先在后台定义好规则,定义出来的规则我们叫做 路由规则。

     

    如何使用路由呢? 

    路由基本语法

    1. 普通语法

    app.HTTP请求类型(请求路径,回调函数)
     
    发送 GET请求:app.get(请求路径,回调函数)
     
    发送 POST请求:app.post(请求路径,回调函数)
     
    发送 任意请求:app.all(请求路径,回调函数)
     

    2. 特殊语法

    app.use(请求路径,回调函数)

    + 区别1:use匹配任意类型请求
    + 区别2:use非完全匹配(ps. 只需要 url前面匹配 请求路径即可匹配)
     
     

    什么是路由参数呢?

     路由参数

      当在 url 地址后面通过 name=andy&age=12 方式传递 get参数后,如果需要在服务器端进行获取,则可以通过路由参数获取。


    基本语法:
     
    app.HTTP请求类型(请求路径/:参数1/.../:参数n,回调函数)
     
     

    利用 Express 托管静态文件

     
     
     
     
     

     项目部署

    简单的项目部署

    1.将项目文件集中存放templates 和index.js同目录下

    2.templates存放同级目录 (.css)(.js)   (.imgs)  (.json)   及  html

    3.npm下载依赖包

    var http = require('http');//引入http模块
    
    var fs = require('fs');//引入fs模块
    
    //创建一个服务
    var server = http.createServer(function (req, res) {
        
        var requestUrl = req.url;
            //indexof判断requestUrl是否含有“.html”,如果没有则返回-1,
        if( requestUrl.indexOf('.html') > -1 ){
            // ./templates/index.html
            fs.readFile('./templates' + requestUrl, 'utf8', function (error, dataString) {
                //fs模块中的方法 读取文件readFile
                res.end( dataString );
                //响应结束返回内容
            });
    
        }else if( requestUrl.indexOf('css/') > -1 ){
            fs.readFile('./templates' + requestUrl, 'utf8', function (error, dataString) {
    
                res.end( dataString );
    
            });
        }else if( requestUrl.indexOf('js/') > -1 ){
            fs.readFile('./templates' + requestUrl, 'utf8', function (error, dataString) {
    
                res.end( dataString );
    
            });
        }else if( requestUrl.indexOf('images/') > -1 ){
            fs.readFile('./templates' + requestUrl, function (error, dataString) {
    
                res.end( dataString );
    
            });
        } else{
            res.end('404');
        }
    
    });    
    //设置端口为8080,或者其他值
    var port = 8080;
    //监听端口port,
    server.listen(port, function() {
        console.log( `server running at ${port}...` );
    })
     
     
     
     
     
    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    c读取文本文档
    java类中定义接口
    android selector
    android listview
    android继承Dialog实现自定义对话框
    移植net-snmp到开发板(mini210)
    [BZOJ1901]Zju2112 Dynamic Rankings
    [BZOJ3524][Poi2014]Couriers
    [codeforces722D]Generating Sets
    [codeforces722C]Destroying Array
  • 原文地址:https://www.cnblogs.com/hudunyu/p/11391448.html
Copyright © 2020-2023  润新知