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自动适应的图片弹窗实例
Jun 29 Javascript
5款JavaScript代码压缩工具推荐
Jul 07 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
May 23 Javascript
探究Vue.js 2.0新增的虚拟DOM
Oct 20 Javascript
jQuery事件绑定方法学习总结(推荐)
Nov 21 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
Feb 19 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 Javascript
Vue自定义弹窗指令的实现代码
Aug 13 Javascript
微信小程序实现banner图轮播效果
Jun 28 Javascript
JavaScript计算出两个数的差值
Mar 19 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
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js 函数调用模式小结
2011/12/26 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
python求众数问题实例
2014/09/26 Python
Python使用django搭建web开发环境
2017/06/09 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
python代码区分大小写吗
2020/06/17 Python
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
奥巴马演讲稿
2014/01/08 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
暂停营业通知
2015/04/25 职场文书
运动会新闻稿
2015/07/17 职场文书
2016年元旦寄语
2015/08/17 职场文书
React如何创建组件
2021/06/27 Javascript