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验证正则表达式汇总
Nov 26 Javascript
JS获取url链接字符串 location.href
Dec 23 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
Bootstrap每天必学之前端开发框架
Nov 19 Javascript
JS转换HTML转义符的方法
Aug 24 Javascript
深入理解Javascript中的valueOf与toString
Jan 04 Javascript
centos 上快速搭建ghost博客方法分享
May 23 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 Javascript
layui使用templet格式化表格数据的方法
Sep 16 Javascript
vue.js实现双击放大预览功能
Jun 23 Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 Javascript
vue+element实现动态加载表单
Dec 13 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之curl设置超时实例
2014/11/03 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
YII框架http缓存操作示例
2019/04/29 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
Js+XML 操作
2006/09/20 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
vue-resourc发起异步请求的方法
2020/02/11 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python3 读写文件换行符的方法
2018/04/09 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python 实现按对象传值
2019/12/26 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
Java程序员综合测试题
2014/04/25 面试题
留学生如何写好自荐信
2013/12/27 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
违反学校规定检讨书
2014/01/18 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python