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 相关文章推荐
CSS+Jquery实现页面圆角框方法大全
Dec 24 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
JavaScript实现非常简单实用的下拉菜单效果
Aug 27 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
js实现二级导航功能
Mar 03 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
详解vue表单——小白速看
Apr 08 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
Javascript模块化机制实现原理详解
Apr 02 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连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
浅析Python中的join()方法的使用
2015/05/19 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
python求解汉诺塔游戏
2020/07/09 Python
什么是封装
2013/03/26 面试题
请假条范文大全
2014/04/10 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript