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 相关文章推荐
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
Nov 21 Javascript
分享20个提升网站界面体验的jQuery插件
Dec 15 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
快速学习AngularJs HTTP响应拦截器
Dec 31 Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 Javascript
Html5+jQuery+CSS制作相册小记录
Dec 30 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
Node.js应用设置安全的沙箱环境
Apr 23 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
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常用Output和ptions/Info函数集介绍
2013/06/19 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP加密解密类实例代码
2016/07/20 PHP
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
vue如何判断dom的class
2018/04/26 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
python算法学习之计数排序实例
2013/12/18 Python
python如何实现反向迭代
2018/03/20 Python
python3中zip()函数使用详解
2018/06/29 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
初中体育教学反思
2014/01/14 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
秋季运动会稿件
2014/01/30 职场文书
高三政治教学反思
2014/02/06 职场文书