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 相关文章推荐
JavaScript 事件冒泡简介及应用
Jan 11 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
js点击事件链接的问题解决
Apr 25 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 Javascript
一个JavaScript去除字符串末尾的空白实例代码
Sep 22 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
jquery ui sortable拖拽后保存位置
Apr 27 jQuery
JavaScript用二分法查找数据的实例代码
Jun 17 Javascript
AngularJS实现表单元素值绑定操作示例
Oct 11 Javascript
Vue项目环境搭建详细总结
Sep 26 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
解析php中heredoc的使用方法
2013/06/17 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
学习jQuey中的return false
2015/12/18 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python中字符编码简介、方法及使用建议
2015/01/08 Python
Python中的zipfile模块使用详解
2015/06/25 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
详解Python的Lambda函数与排序
2016/10/25 Python
python编程线性回归代码示例
2017/12/07 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
高中的自我鉴定
2013/12/16 职场文书
企业宣传工作方案
2014/06/02 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
销售2014年度工作总结
2014/12/08 职场文书
2015年教研工作总结
2015/05/23 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书