express学习笔记记录
来源:互联网 发布:网络暴利赚钱项目 编辑:程序博客网 时间:2024/05/01 17:52
1 创建一个文件
mkdir myapp
cd myapp
2 安装express
$ npm install express --save
3 创建一个你默认的执行的index.js或者是app.js
然后添加代码
var express = require('express');var app = express();app.get('/', function (req, res) { res.send('Hello World!');});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);});
4 运行整个js
node index.js
5
Express 应用生成器
通过应用生成器工具 express
可以快速创建一个应用的骨架。
通过如下命令安装:
$ npm install express-generator -g
例如,下面的示例就是在当前工作目录下创建一个命名为 myapp 的应用。
$ express myapp create : myapp create : myapp/package.json create : myapp/app.js create : myapp/public create : myapp/public/javascripts create : myapp/public/images create : myapp/routes create : myapp/routes/index.js create : myapp/routes/users.js create : myapp/public/stylesheets create : myapp/public/stylesheets/style.css create : myapp/views create : myapp/views/index.jade create : myapp/views/layout.jade create : myapp/views/error.jade create : myapp/bin create : myapp/bin/www
然后安装所有依赖包:
$ cd myapp $ npm install
启动这个应用(MacOS 或 Linux 平台):
$ DEBUG=myapp npm start
Windows 平台使用如下命令:
> set DEBUG=myapp & npm start
利用 Express 托管静态文件
通过 Express 内置的 express.static
可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。
将静态资源文件所在的目录作为参数传递给 express.static
中间件就可以提供静态资源文件的访问了。例如,假设在 public
目录放置了图片、CSS 和 JavaScript 文件,你就可以:
app.use(express.static('public'));
现在,public
目录下面的文件就可以访问了。
http://localhost:3000/images/kitten.jpghttp://localhost:3000/css/style.csshttp://localhost:3000/js/app.jshttp://localhost:3000/images/bg.pnghttp://localhost:3000/hello.html
如何处理 404 ?
在 Express 中,404 并不是一个错误(error)。因此,错误处理器中间件并不捕获 404。这是因为 404 只是意味着某些功能没有实现。也就是说,Express 执行了所有中间件、路由之后还是没有获取到任何输出。你所需要做的就是在其所有他中间件的后面添加一个处理 404 的中间件。如下:
app.use(function(req, res, next) { res.status(404).send('Sorry cant find that!');});
如何设置一个错误处理器?
错误处理器中间件的定义和其他中间件一样,唯一的区别是 4 个而不是 3 个参数,即 (err, req, res, next)
:
app.use(function(err, req, res, next) { console.error(err.stack); res.status(500).send('Something broke!');});
app.route()
可使用
app.route()
创建路由路径的链式路由句柄。由于路径在一个地方指定,这样做有助于创建模块化的路由,而且减少了代码冗余和拼写错误。请参考 Router() 文档 了解更多有关路由的信息。下面这个示例程序使用
app.route()
定义了链式路由句柄。
app.route('/book') .get(function(req, res) { res.send('Get a random book'); }) .post(function(req, res) { res.send('Add a book'); }) .put(function(req, res) { res.send('Update the book'); });
express.Router
可使用 express.Router
类创建模块化、可挂载的路由句柄。Router
实例是一个完整的中间件和路由系统,因此常称其为一个 “mini-app”。
下面的实例程序创建了一个路由模块,并加载了一个中间件,定义了一些路由,并且将它们挂载至应用的路径上。
在 app 目录下创建名为 birds.js
的文件,内容如下:
var express = require('express');var router = express.Router();// 该路由使用的中间件router.use(function timeLog(req, res, next) { console.log('Time: ', Date.now()); next();});// 定义网站主页的路由router.get('/', function(req, res) { res.send('Birds home page');});// 定义 about 页面的路由router.get('/about', function(req, res) { res.send('About birds');});module.exports = router;
- express学习笔记记录
- Express学习记录
- express 学习记录
- express 学习记录
- express framework 学习笔记
- express学习笔记
- Express学习笔记
- Express学习笔记
- Nodejs学习笔记之express
- Node.js Express学习笔记
- nodejs:Express学习笔记(1)
- express的api学习笔记
- nodejs学习笔记-1-express
- Nodejs-express 设置学习笔记
- Node.js/Express学习笔记_02 快速开始express
- 正则表达式(Regular Express)学习笔记
- express 学习笔记(一)router
- express 学习笔记(二)request && response
- Spring Cloud 的 Zuul 过滤器
- OneDay认识webstrom
- 使用maven创建web项目
- radhat6.7 install g++
- Hdu 6198 number number number【矩阵快速幂】
- express学习笔记记录
- Spring Cloud 的 Zuul 容错与回退
- 15 个开源的顶级人工智能工具
- Android悬浮引导层
- android 爱牙联盟自己混淆的一个项目
- java对象内存的存储
- Spring Cloud 的 Zuul 高可用HA
- Android程序开发之Fragment实现底部导航栏实例代码
- Gensim官方教程翻译(三)——主题与转换(Topics and Transformations)