美文网首页
express框架-初学

express框架-初学

作者: Alvin_WH | 来源:发表于2016-09-12 03:02 被阅读0次
    #如果权限不够可以在前面加sudo

    ---------------------------------------------                              express输出“hello world”

    var express = require('express');

    var app = express();

    //req (请求),res (相应),/是指对于首页的url返回“Hello World”,方法为get

    //get是指从服务器端获取数据,post则是发送数据到服务端,下面图片有类似例子。

    app.get('/', function (req, res) {

    res.send('Hello World!');

    });

    //设置一个监听器,端口号为3000,服务端调用function()函数

    var server = app.listen(3000, function () {

    var host = server.address().address;

    var port = server.address().port;

    console.log('Example app listening at http://%s:%s', host, port);

    });

    一些路由的实例

    -------------------------------------------

                              建立一个express框架

    !!!!!!!强烈注意:如果输入命令行出现no directory........在命令行添加sudo(这是赋予管理员权限)

    建立代码如下:

    $ npm install express-generator -g    //先安装express应用生成器

    $ express -h    

    -h选项可以列出所有可用的命令行选项:

    在当前工作目录下创建一个命名为myapp的应用

    安装所有依赖包

          $ cd myapp

          $ npm install

    启动这个应用

            $ DEBUG=myapp npm start
                 (MacOS 或 Linux 平台)

          > set DEBUG=myapp & npm start
                    Windows 平台

    通过 Express 应用生成器创建的应用一般都有如下目录结构:

    然后在浏览器中打开http://localhost:3000/网址就可以看到这个应用了。

    myapp网页显示

    -------------------------------------------

    利用 Express 托管静态文件

    app.use(express.static('public'));

    #意味public里面都是静态文件,可以直接访问如http://localhost:3000/images/kitten.jpg

    #images是在public文件目录下的

    #可以设置多个静态的目录

    ps:个人尝试了下,直接去访问目录下的图片,不过不能访问,所以只有静态文件可以直接查看,或者设置路由

    -------------------------------------------

    ps:接下来是对express应用生成器代码的一些理解

                             express应用框架

    全部文件,我们从左往右说明

    -----app.js----------------------------

    app.set('view engine', 'ejs') 为设置模板引擎为ejs

    app.use(express.favicon()) 是设置图标想修改的话就自己去搞public下面的images文件

    app.use(express.logger('dev')); express依赖于connect这里就内建中间件会输出一些日志

    app.use(express.json()); 用以解析请求体,这里就会把字符串动态转换为json对象

    app.use(express.methodOverride()); connect内建中间件,用以处理post请求,并可以伪装put等http方法

    app.use(app.router); 调用路由器解析规则

    app.use(express.static(path.join(__dirname, 'public'))); connect内建中间件,设置根目录下的public存放静态文件

    #懒的重新截图= =

    #next(err),把控制权交给下一个函数处理

    -----bin/www.js---------------------------------------------


    isNaN is a "is Not a Number" function

    ----public-------------------------------

    存放静态资源。

    -----routes-----------------------------

    基本和上面的路由相似

    这节我觉得必要说明的,唯一一点就是app.METHOD(path, [callback...], callback),app是express对象的一个实例,METHOD是一个HTTP 请求方法,path是服务器上的路径,callback是当路由匹配时要执行的函数。

    ---other--------------

    app.js 为入口文件

    package.json 为模块依赖文件,我们使用npm install时候他会以其配置在网上下载相关包

    node_modules 为下载下来的模块文件(package.json)

    public 存放静态资源文件

    routes 存放路由文件

    views 存放相关视图模板文件

    相关文章

      网友评论

          本文标题:express框架-初学

          本文链接:https://www.haomeiwen.com/subject/xgqpettx.html