用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开发的更多相关文章

  1. nodejs+express开发blog(1)

    前言 Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新.基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术.在 ...

  2. NodeJS+Express开发web,为什么中文显示为乱码

    把你的文件另存为下,格式为utf-8的试下就行!

  3. nodejs+express开发blog(2)

    npm install -g nodemon 1,把ejs文件修改为html文件 app.engine('.html', require('ejs').__express);app.set('view ...

  4. NodeJS+Express+mySQL服务端开发详解

    随着NodeJS的发展,现在已经被很多人熟知,NodeJS已经成为了前端开发人员必备的技能.本文不会对NodeJS过多介绍 如果你感兴趣可以访问NodeJS 官网, 维基百科 本文是利用NodeJS+ ...

  5. 像asp.net Mvc一样开发nodejs+express Mvc站点

    像asp.net Mvc一样开发nodejs+express Mvc站点 首先,我是个c#码农.从事Mvc开发已然4个年头了,这两年前端MVC的兴起,我也跟风学了一些,对前端的框架也了解一些,angu ...

  6. NodeJS+Express+MySQL开发小记(2):服务器部署

    http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过 ...

  7. nodejs学习篇 (1)webstorm创建nodejs + express + jade 的web 项目

    之前简单了解过nodejs,觉得用nodejs来做个网站也太麻烦了,要自己拼html的字符串返回,这能做网站嘛? 最近看到使用jade模板来开发,觉得挺新奇的,于是试了一把,也了解了一些特性,算是个新 ...

  8. CentOS编译安装NodeJS+Express

    NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装Node ...

  9. nodejs+express Mvc站点

    nodejs+express Mvc站点 像asp.net Mvc一样开发nodejs+express Mvc站点 首先,我是个c#码农.从事Mvc开发已然4个年头了,这两年前端MVC的兴起,我也跟风 ...

随机推荐

  1. Escaping Closures 两点:本质是生命周期标示符

    1.block需要(拷贝)保存: 2.block引用的环境变量需要处理. 相当于oc中的copy block. Escaping Closures A closure is said to escap ...

  2. seam remote 返回的map结构

    map结构的数据,js接收到的结构是elements下面的一个 [ {key:***,value:***}, {key:***,value:***} ] 这样子的集合,需要经过下面代码的转换才能重新变 ...

  3. Fedora 和 RedHat 以及 SUSE 中 YUM 工具的使用

    参考博客:https://www.cnblogs.com/good-study/p/9928587.html 一.yum命令概述: 1.简介: yum命令时在Fedora和RedHat以及SUSE中基 ...

  4. nodejs 文件操作模块 fs

    const fs=require("fs"); //文件操作 //创建目录 ./ 代表当前目录 ../ 代表上级目录fs.mkdir('./test',function(err){ ...

  5. 利用shell脚本去备份幸运28源码搭建下载所指定的数据库

    #! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...

  6. 6.shell脚本

    6.1 shell基础语法 6.1.1 shell的概述 shell的基本概念 1.什么是shell shell是用户和Linux操作系统之间的接口,它提供了与操作系统之间的通讯方式 shell是一个 ...

  7. 点击 table 单元格 取值

    function Test() { var rows = document.getElementById("tbDetail").rows; if (rows.length > ...

  8. uva-156(Ananagrams UVA - 156)

    map容器的模板题,判断是否能交换字母顺序变成另外一个单词,只需要先把单词都变成小写字母.然后再按字母字典序排序,放入map中进行计数,然后把计数为一的再放入另一个容器,再排序输出即可 我的代码(刘汝 ...

  9. emacs 定制进缩风格

    纵览 emacs 文档中描述,进缩风格实现只需要两步:第一步,根据内容与上下文找到对应的进缩风格的类别:第二步,依据进缩风格决定的表达式锚点的进缩偏移.下面我们对 cc-mode 风格定制加以说明. ...

  10. HTML5本地存储——Web SQL Database与indexedDB

    虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...