ExpressJS入门实例


Posted in Javascript onJanuary 14, 2015

一、我们创建项目目录。

> md hello-world

二、进入此目录,定义项目配置文件package.json。
为了准确定义,可以使用命令:
D:\tmp\node\hello-world> npm info express version

npm http GET https://registry.npmjs.org/express

npm http 200 https://registry.npmjs.org/express

3.2.1

现在知道ExpressJS框架的最新版本为3.2.1,那么配置文件为:
{  

    "name": "hello-world",  

    "description": "hello world test app",  

    "version": "0.0.1",  

    "private": true,  

    "dependencies": {  

        "express": "3.2.1"  

    }  

} 

三、使用npm安装项目依赖的包。

> npm install

一旦npm安装依赖包完成,项目根目录下会出现node_modules的子目录。项目配置所需的express包都存放于这里。如果相验证,可以执行命令:
> npm ls

PS D:\tmp\node\hello-world> npm ls  

npm WARN package.json hello-world@0.0.1 No README.md file found!  

hello-world@0.0.1 D:\tmp\node\hello-world  

└─┬ express@3.2.1  

  ├── buffer-crc32@0.2.1  

  ├── commander@0.6.1  

  ├─┬ connect@2.7.7  

  │ ├── bytes@0.2.0  

  │ ├── formidable@1.0.13  

  │ └── pause@0.0.1  

  ├── cookie@0.0.5  

  ├── cookie-signature@1.0.1  

  ├── debug@0.7.2  

  ├── fresh@0.1.0  

  ├── methods@0.0.1  

  ├── mkdirp@0.3.4  

  ├── qs@0.6.1  

  ├── range-parser@0.0.4  

  └─┬ send@0.1.0  

    └── mime@1.2.6 

此命令显示了express包及其依赖关系。

四、创建应用程序

现在开始创建应用程序自身。创建一个名为app.js或server.js的文件,看你喜欢,任选一个。引用express,并使用express()创建一个新应用:

// app.js  

var express = require('express');  

var app = express(); 

接着,我们可以使用app.动词()定义路由。
比如使用"GET /"响应"Hello World"字符串,因为res、req都是Node提供的准确的对象,因此你可以调用res.pipe()或req.on('data', callback)或者其它。

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

    var body = 'Hello World';  

    res.setHeader('Content-Type', 'text/plain');  

    res.setHeader('Content-Length', body.length);  

    res.end(body);  

}); 

ExpressJS框架提供了更高层的方法,比如res.send(),它可以省去诸如添加Content-Length之类的事情。如下:

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

    res.send('Hello World');  

}); 

现在可以绑定和监听端口了,调用app.listen()方法,接收同样的参数,比如:

五、运行程序

现在运行程序,执行命令:

> node app.js

用浏览器访问地址:http://localhost:3000/hello.txt
可以看到输出结果:
Hello World
Javascript 相关文章推荐
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
Oct 28 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
javascript引用赋值(地址传值)用法实例
Jan 13 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
Bootstrap免费字体和图标网站(值得收藏)
Mar 16 Javascript
详解a++和++a的区别
Aug 30 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 #Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 #Javascript
jquery简单图片切换显示效果实现方法
Jan 14 #Javascript
Node.js开发之访问Redis数据库教程
Jan 14 #Javascript
Backbone.js中的集合详解
Jan 14 #Javascript
jquery增加和删除元素的方法
Jan 14 #Javascript
Node.js开源应用框架HapiJS介绍
Jan 14 #Javascript
You might like
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
js中function()使用方法
2013/12/24 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
python实现图片处理和特征提取详解
2017/11/13 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
公司联欢晚会主持词
2014/03/22 职场文书
优秀员工评优方案
2014/06/13 职场文书
实验室标语
2014/06/21 职场文书
祝寿主持词
2015/07/02 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
Python语言内置数据类型
2022/02/24 Python
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers