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的实现简单的表格中增加或删除下一行
Aug 01 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
将Sublime Text 3 添加到右键中的简单方法
Dec 12 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 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 extract 将数组拆分成多个变量的函数
2010/06/30 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
班级团队活动方案
2014/08/14 职场文书
2014年工人工作总结
2014/11/25 职场文书
房贷收入证明范本
2015/06/12 职场文书
外出考察学习心得体会
2016/01/18 职场文书