express框架-初学

2016-09-12  本文已影响0人  Alvin_WH
#如果权限不够可以在前面加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 存放相关视图模板文件

上一篇下一篇

猜你喜欢

热点阅读