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日历 推荐
Dec 03 Javascript
驱动事件的addEvent.js代码
Mar 27 Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 Javascript
jQuery实现简单二级下拉菜单
Apr 12 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
Jul 28 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
简单实现node.js图片上传
Dec 18 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 Javascript
node.js平台下的mysql数据库配置及连接
Mar 31 Javascript
JS实现页面打印(整体、局部)
Aug 18 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
Oct 24 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数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[00:16]热血竞技场
2019/03/06 DOTA
python读取浮点数和读取文本文件示例
2014/05/06 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
解决django FileFIELD的编码问题
2020/03/30 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
竞选班长的演讲稿
2014/04/24 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
医药销售自我评价200字
2014/09/11 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
企业介绍信范文
2015/01/30 职场文书
小学重阳节活动总结
2015/03/24 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python