ExpressJS入门指南

简介: 一、我们创建项目目录。 > md hello-world 二、进入此目录,定义项目配置文件package.json。 为了准确定义,可以使用命令:D:\tmp\node\hello-world> npm info express versionnpm http GET https://registry.

一、我们创建项目目录。


> 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,那么配置文件为:
[javascript]   view plain copy print ?
  1. {  
  2.     "name""hello-world",  
  3.     "description""hello world test app",  
  4.     "version""0.0.1",  
  5.     "private"true,  
  6.     "dependencies": {  
  7.         "express""3.2.1"  
  8.     }  
  9. }  

三、使用npm安装项目依赖的包。

> npm install

一旦npm安装依赖包完成,项目根目录下会出现node_modules的子目录。项目配置所需的express包都存放于这里。如果相验证,可以执行命令:
> npm ls
[javascript]   view plain copy print ?
  1. PS D:\tmp\node\hello-world> npm ls  
  2. npm WARN package.json hello-world@0.0.1 No README.md file found!  
  3. hello-world@0.0.1 D:\tmp\node\hello-world  
  4. └─┬ express@3.2.1  
  5.   ├── buffer-crc32@0.2.1  
  6.   ├── commander@0.6.1  
  7.   ├─┬ connect@2.7.7  
  8.   │ ├── bytes@0.2.0  
  9.   │ ├── formidable@1.0.13  
  10.   │ └── pause@0.0.1  
  11.   ├── cookie@0.0.5  
  12.   ├── cookie-signature@1.0.1  
  13.   ├── debug@0.7.2  
  14.   ├── fresh@0.1.0  
  15.   ├── methods@0.0.1  
  16.   ├── mkdirp@0.3.4  
  17.   ├── qs@0.6.1  
  18.   ├── range-parser@0.0.4  
  19.   └─┬ send@0.1.0  
  20.     └── mime@1.2.6  

此命令显示了express包及其依赖关系。

四、创建应用程序


现在开始创建应用程序自身。创建一个名为app.js或server.js的文件,看你喜欢,任选一个。引用express,并使用express()创建一个新应用:

[javascript]   view plain copy print ?
  1. // app.js  
  2. var express = require('express');  
  3. var app = express();  

接着,我们可以使用app.动词()定义路由。
比如使用"GET /"响应"Hello World"字符串,因为res、req都是Node提供的准确的对象,因此你可以调用res.pipe()或req.on('data', callback)或者其它。

[javascript]   view plain copy print ?
  1. app.get('/hello.txt'function(req, res){  
  2.     var body = 'Hello World';  
  3.     res.setHeader('Content-Type''text/plain');  
  4.     res.setHeader('Content-Length', body.length);  
  5.     res.end(body);  
  6. });  

ExpressJS框架提供了更高层的方法,比如res.send(),它可以省去诸如添加Content-Length之类的事情。如下:

[javascript]   view plain copy print ?
  1. app.get('/hello.txt'function(req, res){  
  2.     res.send('Hello World');  
  3. });  

现在可以绑定和监听端口了,调用app.listen()方法,接收同样的参数,比如:

[javascript]   view plain copy print ?
  1. app.listen(3000);  
  2. console.log('Listening on port 3000');  

五、运行程序


现在运行程序,执行命令:
> node app.js

用浏览器访问地址:http://localhost:3000/hello.txt
可以看到输出结果:
Hello World
目录
相关文章
|
人工智能 自然语言处理 文字识别
阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
【2月更文挑战第17天】阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
883 2
阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
|
存储 JSON 小程序
小程序云开发实战一:小程序扫一扫获取到图书ISBN码(图书条形码)
小程序云开发实战一:小程序扫一扫获取到图书ISBN码(图书条形码)
488 2
|
网络安全 开发工具 数据安全/隐私保护
Win10使用Git克隆项目出现fatal: Authentication failed for异常
Windows 10系统中使用Git克隆项目时出现"fatal: Authentication failed for"异常的解决方法,主要是通过修改凭据管理器中的Git凭据密码来解决因密码过期导致的身份验证失败问题。
798 0
Win10使用Git克隆项目出现fatal: Authentication failed for异常
|
运维 云计算 数据安全/隐私保护
云计算:重塑企业数字化转型之
云计算:重塑企业数字化转型之
313 0
|
人工智能 安全 大数据
CDGA|数据要素与数据安全:携手构建可信数据生态的深远探讨
数据要素与数据安全是数字经济时代不可分割的双生子。只有在保障数据安全的前提下,才能充分发挥数据要素的价值,推动数字经济持续健康发展。构建可信数据生态,需要政府、企业、社会组织及广大公众的共同努力,形成合力,共同应对挑战,共创数字经济的美好未来。
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
488 5
|
数据库 数据库管理
理解数据库的ACID原则:确保数据完整性与一致性的基石
【5月更文挑战第20天】ACID原则是数据库事务处理的核心,包括原子性、一致性、隔离性和持久性。原子性保证事务操作全完成或全不完成,保持数据完整;一致性确保事务前后数据库保持一致性状态,不破坏完整性约束;隔离性防止并发事务相互影响,通过锁等技术实现;持久性则保证事务提交后的修改永久保存,即使系统故障也能恢复。这些原则确保了数据的可靠性和安全性。
1170 3
|
机器学习/深度学习 自然语言处理 并行计算
量子计算与神经形态计算:区别、联系及未来潜力对比
量子计算与神经形态计算:区别、联系及未来潜力对比
431 4
|
机器学习/深度学习 存储 人工智能
存内计算芯片研究进展及应用—以基于NorFlash的卷积神经网络量化及部署研究突出存内计算特性
存内计算芯片研究进展及应用—以基于NorFlash的卷积神经网络量化及部署研究突出存内计算特性
|
API 开发工具 JSON
全国高校高考录取分数线查询
转眼又到一年毕业季,广大莘莘学子和家长们殷切期盼十年寒窗苦读能够取得金榜题名,当高考结束时,势必要好好经过一番考量和研究去选择心仪的大学。那么学子和家长们最应该提前了解和关心的是各大高校基本概况、排名、每年招生分数线等信息。 昂焱数据最近新上架了一批关于高校及高考分数信息的API接口,足以满足广大学子的需求。
1578 0