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-Mozilla和IE中的一个函数直接量的问题分析
Aug 12 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
easyui validatebox验证
Apr 29 Javascript
Bootstrap前端开发案例二
Jun 17 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
Mar 02 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 Javascript
ES6使用export和import实现模块化的方法
Sep 10 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
React中获取数据的3种方法及优缺点
Feb 18 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
Oct 22 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中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
JQuery魔力之$("tagName")与selector
2012/03/05 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
javascript折半查找详解
2015/01/26 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
react的hooks的用法详解
2020/10/12 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
pandas ix &iloc &loc的区别
2019/01/10 Python
python pandas生成时间列表
2019/06/29 Python
python绘制雪景图
2019/12/16 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
军训自我鉴定
2013/12/14 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
法制宣传实施方案
2014/03/13 职场文书
法语专业求职信
2014/07/20 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android