nodejs express开发
用NodeJS+Express开发WEB应用---第一篇
大漠穷秋2014-03-28
预热
为了对后面的内容理解更加透彻,推荐首先阅读下面这篇很好的文章:
http://www.nodebeginner.org/index-zh-cn.html
以上链接中的这种方式显然过于繁琐,一切都靠我们手动编码和组织。
我们知道,在Java或者其它语言下开发WEB应用有各种各样的框架可以支撑,理所当然,在NodeJS下也应该有这样的框架来支持我们的开发。
express就是这样一款框架,只不过它是基于NodeJS。
好吧,说直白一点儿,express只不过是数十万个node模块中的其中之一。
express的官方首页在这里: http://expressjs.com/
中文首页在这里: http://express.jsbin.cn/
很可惜,官方页面里面的文档组织得并不好,也没有对一些基本的问题做出解释。
所以,还是跟我来吧。
安装express
第一步:装好NodeJS。 http://nodejs.org/ ,这太简单了,没啥好说的。
第二步:用npm安装express
npm install -g express
请注意,最好加上-g选项,因为这样npm会把express安装成一个全局模块。
小僧在用npm安装模块的时候一般都会加上-g选项,因为这样配置环境变量会比较省力。
全局node模块一般位于C盘的用户目录中,在我机器上是这样的:
C:\Users\zhangxf10\AppData\Roaming\npm\node_modules
注意:由于功夫网的存在,npm安装express的过程可能会卡住,可以先ctrl+c强退一次,然后再来。当然你也可以使用代理进行安装,请查阅npm config指令进行代理配置。
第三步:配置环境变量
把以上路径配置到系统环境变量里面去,图示如下:

第四步:安装jade
这是一款模板框架,express默认会使用它,而且它的语法相当赞,写起HTML来非常爽,我们还是装上吧:
npm install -g jade
开始动手
第一步:在任意目录下建一个文件夹,小僧本机新建了一个express文件夹。
第二步:从命令行cd到你新建的文件夹下,敲以下命令
express test
注意:如果报找不到express模块啥的,说明你的环境变量没配置好,或者没有新起一个cmd黑窗口。怎么办你懂的,不解释。
第三步:通过以上命令,express就为你自动创建了test项目的目录结构,还有一些初始化文件。在我本机上是这样的:

其中,app.js就是我们的入口啦!
第四步:启动server
node app

第五步:浏览器访问3000端口

第六步:测试其它路由
访问以下地址查看效果:
http://localhost:3000/users
小结
好了,通过以上内容express就已经可用了。
简单来说,你可以把express看成是nodejs下的struts或者其它blabla框架就好了,它提供了基础的结构支持,让你不用啥都自己从头写。
接下来会详细介绍jade和express的更多用法。
(PS:这段时间比较忙,只能等周末写文章有木有! ~~~ 求支持有木有!~~~求转发有木有!~~~附件里面的PDF排版更好,阅读体验更佳有木有!~~~小僧真的很贴心有木有!~~~)
nodejs express开发的更多相关文章
- nodejs+express开发blog(1)
前言 Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新.基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术.在 ...
- NodeJS+Express开发web,为什么中文显示为乱码
把你的文件另存为下,格式为utf-8的试下就行!
- nodejs+express开发blog(2)
npm install -g nodemon 1,把ejs文件修改为html文件 app.engine('.html', require('ejs').__express);app.set('view ...
- NodeJS+Express+mySQL服务端开发详解
随着NodeJS的发展,现在已经被很多人熟知,NodeJS已经成为了前端开发人员必备的技能.本文不会对NodeJS过多介绍 如果你感兴趣可以访问NodeJS 官网, 维基百科 本文是利用NodeJS+ ...
- 像asp.net Mvc一样开发nodejs+express Mvc站点
像asp.net Mvc一样开发nodejs+express Mvc站点 首先,我是个c#码农.从事Mvc开发已然4个年头了,这两年前端MVC的兴起,我也跟风学了一些,对前端的框架也了解一些,angu ...
- NodeJS+Express+MySQL开发小记(2):服务器部署
http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过 ...
- nodejs学习篇 (1)webstorm创建nodejs + express + jade 的web 项目
之前简单了解过nodejs,觉得用nodejs来做个网站也太麻烦了,要自己拼html的字符串返回,这能做网站嘛? 最近看到使用jade模板来开发,觉得挺新奇的,于是试了一把,也了解了一些特性,算是个新 ...
- CentOS编译安装NodeJS+Express
NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装Node ...
- nodejs+express Mvc站点
nodejs+express Mvc站点 像asp.net Mvc一样开发nodejs+express Mvc站点 首先,我是个c#码农.从事Mvc开发已然4个年头了,这两年前端MVC的兴起,我也跟风 ...
随机推荐
- Python_多线程1(创建线程,简单线程同步)
threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法: threading.currentThread(): 返回当前的线程变量. threading.enumera ...
- 基于python xlsxwriter、xlrd 生成测试报告
import xlsxwriter,xlrd ''' 思路: 1.获取数据 2.整合数据 3.写入文件 ''' #筛选 def filt(category,table,filt_name=None,r ...
- 棋盘DP三连——洛谷 P1004 方格取数 &&洛谷 P1006 传纸条 &&Codevs 2853 方格游戏
P1004 方格取数 题目描述 设有N $\times N$N×N的方格图(N $\le 9$)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A ...
- hdu 5652
India and China Origins Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...
- PAT 1034. Head of a Gang
1034. Head of a Gang (30) One way that the police finds the head of a gang is to check people's phon ...
- SpringBoot杂记
一.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: •application.properties •application.yml 配置文件的作用:修改SpringBoo ...
- Linq表达式写法
Linq表达式,实现按照某个字段排序的简单写法. 做项目的时候遇到的一个简单问题,于是记下来. 列举一个例子: <T> model=new <T>(); 加入model中有要根 ...
- 个人学习记录--取表中Name相同的最大值,非Group By,可延伸
), qy ), je INT); INSERT INTO @t SELECT '产品一', '北京', UNION ALL SELECT '产品一', '上海', UNION ALL SELECT ...
- ES6的let和var声明变量的区别
关于let的描述 let允许你声明一个作用域被限制在块级中的变量.语句或者表达式.与var关键字不同的是,它声明的变量只能是全局或者整个函数块的. 作用域规则 let声明的变量只在其声明的块或子块中可 ...
- hdu 4786 最小生成树与最大生成树
/* 题意 :有一些边权值为1和0,判断是否存在一个生成树使得他的总权值为一个斐波那契数. 解法:建立一个最小生成树向里面加权值为1的边替换为0的边,保证原来的联通.因为权值为1,可直接求出最大生成树 ...