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 相关文章推荐
将字符串转换成gb2312或者utf-8编码的参数(js版)
Apr 10 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
node.js 动态执行脚本
Jun 02 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
WebView启动支付宝客户端支付失败的问题小结
Jan 11 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
JavaScript数据结构之二叉树的遍历算法示例
Apr 13 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
用Axios Element实现全局的请求loading的方法
Mar 15 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
JS访问对象两种方式区别解析
Aug 29 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
PHP入门速成(2)
2006/10/09 PHP
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
php数组添加元素方法小结
2014/12/20 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
PHP Cookie学习笔记
2016/08/23 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
Javascript基础教程之比较操作符
2015/01/18 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python操作gmail实例
2015/01/14 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python类的动态绑定实现原理
2020/03/21 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
大学生感恩父母演讲稿
2014/08/28 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
公司给客户的感谢信
2015/01/23 职场文书
人事聘任通知
2015/04/21 职场文书
刑事起诉书范文
2015/05/19 职场文书
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA