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 相关文章推荐
jquery isType() 类型判断代码
Feb 14 Javascript
js、css、img等浏览器缓存问题的2种解决方案
Oct 23 Javascript
javascript实现文本域写入字符时限定字数
Feb 12 Javascript
JavaScript编写推箱子游戏
Jul 07 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
laypage分页控件使用实例详解
May 19 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 Javascript
js显示动态时间的方法详解
Aug 20 Javascript
Vue的Flux框架之Vuex状态管理器
Jul 30 Javascript
详谈js中标准for循环与foreach(for in)的区别
Nov 02 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
Javascript生成器(Generator)的介绍与使用
Jan 31 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
接收键盘指令的脚本
2006/06/26 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
Python程序控制语句用法实例分析
2020/01/14 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
军训自我鉴定
2013/12/14 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
校本教研活动总结
2014/07/01 职场文书
煤矿安全协议书
2014/08/20 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
Go标准容器之Ring的使用说明
2021/05/05 Golang
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS