Node.js学习笔记(6)——使用Express创建一个工程
前提是搭建好了环境,node,npm,express;(推荐全局安装)
开始用express创建一个基础工程:
express –t ejs microblog
进入文件夹之后
npm-install(自动安装好要用的依赖)
这个时候,用浏览器访问localhost:3000,就可以出来一个欢迎界面了,这里简单说下原理:当你在浏览器输入这个地址砸下回车的瞬间,node搭建的一个网站后台程序开始工作,在app.js这个文件里面,有app.get(‘/’, routes.index);这一句话的作用就是当你访问‘/’的时候,把你的请求‘/‘ 路由到route文件夹下的index函数。我们再看index函数:res.render('index', { title: 'Express' });功能是调用模板引擎,并传入一个参数Express。模板文件是view文件夹下面的index.jade,里面的一句话:h1= title p Welcome to #{title}实现把传过来的参数Express包装进tittle里面,最终实现了最终结果的显示。
这是一个完整的请求、路由、响应的过程。
我们发现,在app.js文件里面和app.get(‘/’, route.index);相似的另外一条路由规则:app.get('/users', user.list);和上一条路由规则一样,我们可以知道,这条规则的意思就是说:我们访问localhost:3000/users的时候,浏览器会通过后台程序返回routes文件夹下面的user.list文件,然后返回给浏览器结果。果不其然,浏览器果然通过这个文件里面的:res.send("respond with a resource");返回了respond with a resource。
这样我们就完成了两条完整的请求和响应流程。
于是,我们就想创建一条真正属于自己的流程,从请求道响应到最后展示在浏览器的页面上,都是自己的东西。
好吧,按照书里面的,我们开始创建一个只是显示时间的页面,我们是这样设想的:当我们在浏览器里面输入localhost:3000/hello并敲击回车的时候,浏览器返回给我们的是当前的时间。
于是开始动手。
首先,我们子啊app.js里面新增
app.get(‘/hello’,routes.hello);
然后再routes文件夹下面的index.js文件下新增hello函数:
exports.hello=function(req,res){ res.send(‘the time is’ +new Date().toString()); };
最后完成测试。
返回:
the time is Wed Sep 10 2014 14:05:34 GMT+0800 (中国标准时间)
Node.js学习笔记(6)——使用Express创建一个工程的更多相关文章
- node.js学习笔记(一)——创建第一个应用
巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后, ...
- 系列文章--Node.js学习笔记系列
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...
- Node.js学习笔记(2):基本模块
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
- Node.js学习笔记(4):Yarn简明教程
Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...
- Node.js学习笔记(六) --- Nodejs 的非阻塞 I/O、 异步、 事件驱动
1. Nodejs 的单线程 非阻塞 I/O 事件驱动在 Java. PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约 2MB 内存.也就是说,理论 ...
- Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
随机推荐
- eclipse中 tomcat首页server Locations变灰无法编辑
解决办法: 1.首先将Servers中部署的工程全部清空 2.然后对Tomcat v8.0 Server at localhost,点右键进行clean处理,再重新双击打开server服务即可.
- 解决ie8下页面刚出现时候的晃动问题
出现这个问题的原因的页面的高度超过一屏,这个时候需要在开始的时候给 html,body {overflow:scroll;overflow-x:hidden}; 这样就可以解决这个问题了
- 【02】react 之 jsx
React与ReactDOM是react中核心对象,React为核心功能,ReactDOM提供对DOM的操作,以前的老版本中只有React没有ReactDOM,新版本中分离出ReactDOM提供两种渲 ...
- POJ3687 Labeling Balls
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13645 Accepted: 3955 Description Wind ...
- 【UVA11859】Division Game(SG函数,Nim游戏)
题意:给定一个n*m的矩阵,两个游戏者轮流操作. 每次可以选一行中的1个或多个大于1的整数,把它们中的每个数都变成它的某个真因子,不能操作的输. 问先手能否获胜 n,m<=50,2<=a[ ...
- 用Razor来生成模板 using razor for template
原文发布时间为:2011-09-15 -- 来源于本人的百度文章 [由搬家工具导入] http://razorengine.codeplex.com/
- jQuery性能优化【转】
原文发布时间为:2010-10-22 -- 来源于本人的百度文章 [由搬家工具导入] 之前,我们减少字节数和请求次数以及加载顺序以使页面加载的更快。如今,我们越来越多的注意到另一个影响网站性能的部分- ...
- Access数据库访问类 帮助类
原文发布时间为:2009-10-28 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Data.OleDb; p ...
- [LeetCode] Merge Intervals 排序sort
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...
- iOS 判断来电状态CTCallCenter代码块不执行问题的解决
项目中需要检测来电状态,使用了CTCallCenter,在AppDelegate中,代码如下: CTCallCenter *callCenter = [[CTCallCenter alloc] i ...