菜鸟学习Node.js--express(一)

什么是Express

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。

不难发现我们可以因此而更快的开发一个网站,而且是在稳定,已经测试的代码之上编写应用程序

Express能做什么

1.基于json的API

2.单页面web应用程序

3.实时web应用程序

但是如果我们创建命令脚本的话,就不会使用他了

安装Express

在上一篇博客(npm全局安装)讨论npm的全局安装,这里就不再介绍了。

再我们执行’npm install -g express’之后出现如下信息,则表示express安装成功。

创建demo

创建Express站点

1.新建文件夹exress_demo,再文件夹内打开cmd.exe,输入

express epxress_example

我们会发现出现了那么多的create,那么就表示我们的基础站点已经创建成功。

3.当然人家还是很人性话的提示执行

cd express_example &&npm install,这句话的意思是安装运行Express所依赖的模块。

4.执行cd express_example &&npm install出现如下结果。

我们看一下我们的express_demo文件夹下是否又如下文件:

如果有,就表示我们创建成功了,那么我们现在打开app.js文件,在

module.exports = app 这行代码的上边加上app.listen(3000);,这样我们再cmd.exe的窗口中输入node app.js.

查看结果

打开浏览器,输入127.0.0.1:3000,如果看到如下结果,那么恭喜,一个基础的Express我们就创建成功了。

探索Express

如我们的文件结构

1. app.js

用来启动程序的应用程序文件,他包含应用程序的配置信息

2. package.json

提供运行程序的信息,包含所需依赖的模块

3. views

定义应用程序的布局

4. public

公共文件夹,我们可以在里边看到js文件,图片等信息,

5. routes

路由,我们下一篇博客再详细说

6. node_modules

存放package.json依赖的模块

view的jade文件

文件结构

在view中我们会看到又一些jade文件,他利用Express模版为我们快速生成html文件,jade是基于缩进的模版,什么意思,给大家举个例子

例如我们再jade中写

html

那么会生成html中的

<html></html>

例如我们要给section标记一个ID,写法如下

section#wrapper–><section id=‘wrapper‘ > </section>

亦或者我们要添加一个class名称或者多个类名称

p.highlight–><p class=‘highlight‘></p>

p.first.second.third–><p class=‘first second third‘></p>

如果体现结构的话,我们需要缩进

p

span

效果是

<p><span></span></p>

文件变量

Jade的优势是他不仅能够进行文件的结构,还能进行输出数据。

例如

- var menghaibin = ‘shuaige‘
p I want to be #{menghaibin}

编译后就是I want to be shuaige

demo

例如我们在view中的index.jade加入如下代码

- var menghaibin = ‘shuaige‘
h1.shuaige#demo 这就是个测试jade的demo

p
    span I want to be #{menghaibin}

然后运行node app.js,但是运行之前大家可以想象一下结果是什么。

脑补完以后我们看一下结果。

输出结果

生成的html

当然这里的缩进,如果是用的tab,都用tab,如果是空格,都用空格,否则会报错。jade还有循环,内联等,这里就不再一一说明了。

内联

  script
    alert(‘Inline Javascript in Jade‘)

循环

- beatles = [‘John‘, ‘Paul‘, ‘Ringo‘, ‘George‘]
ul
  each beatle in beatles
    li #{beatle} 

结果什么样,大家可以自己尝试。

小结

这篇博客,我们讨论了Express的作用和安装,我们还说了Jade这个模版的方便和使用,当然这还是入门,我们再说一遍,这篇博客只能是一个入门,但是这个入门非常的简单,相信可以让我们将node.js看成一个孩子吧,如果想让他长大,那么我们的路还很长。

时间: 2024-07-30 08:54:25

菜鸟学习Node.js--express(一)的相关文章

Node.js Express 框架学习

转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说明.为了学习备份,所以拷贝过来. Express框架 来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 目录 概述 运行原理 底层:http模块 对http模块的再包装 什么是中间件 use方法 Express的方法 all方法和HTTP动词方法 set方法 response

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次更新已经比较久了^_^! formidable简介 nodejs原生实现上传还是比较麻烦,有兴趣的自已去参考一下网上有网友写的代码 这里选择了formidable,也是githu

[Node.js] express 安装的问题

今天学习express的时候发现安装了express模块但是死活不能使用express命令,在windows上提示内部或者外部命令.在Linux上也不能使用,类似的错误信息.在网上找到了解决方案,记录如下: 版本问题,安装的时候使用命令: npm install -g [email protected]   即可解决问题 刚学习node.js,不知道问题的根源是什么?希望知道的大虾解析一下,拜谢.... ==========================华丽的分割线==============

学习node js 之微信公众帐号接口开发 准备工作

绪:因工作需要,最近开始学习Node js,之前隐隐约约听到过node js 但没有实际见到过,只好google了:至于什么是node js,能做些什么,有多么好,或者有哪些弊端我这里就不多说了,因为我也说不来. 注:因工作系统平台是windows环境,所以这一系列开发测试都以windows系统.(win7)系统: 一.准备工作: node js 安装 1. 进入node js官网,选择INSERTALL 会下载 xxxxx 86.msi 版本的:这个版本会把node js 和npm都安装好:

学习node js 之微信公众帐号接口开发 准备工作之三

app.js文件介绍,由于也是初学,下面的内容是个人的理解,有些不对的地方请评论中指证:以注解的形式说明. //依赖组件[模块]导入 var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var

node.js express mvc轻量级框架实践

本文记录的是笔者最近抽私下时间给朋友做的一个时时彩自动下注系统,比较简单,主要也是为了学习一下node.js. 其实逻辑没什么可以深谈的,主要是想说说这套代码结构.结构如下图: js的代码比较难以维护,不清楚大家对于这点是否认同,但这里笔者只说自己的感受,笔者的朋友一开始找到笔者,说玩时时彩,一直盯着玩,会因为贪心会乱来,想做个自动下注系统, 让程序自己玩.一开始,笔者也只想敷衍了事,直接拿node.js+express整了下面这套结构. 基本和express 示例代码没啥两样.但是随着需求的变

node.js高级编程|node.js 视频教程_基于node.js+Express.js+Jade+MongoDB实战开发

基于node.js+Express.js+Jade+MongoDB开发Web即时聊天系统课程讲师:幻星课程分类:前端开发适合人群:初级课时数量:36课时更新程度:完成用到技术:Node.js NPM. Express.NoSQL,MongoDB涉及项目:匿名聊天网站系统node.js视频教程:http://www.ibeifeng.com/goods-462.htmlnode.js 教程适合人群:node.js视频教程要求学员了解JavaScript,node.js入门教程适合希望更深入的学习N

Node.js express获取参数有三种方法

Node.js express获取参数有三种方法 近本人在学习开发NodeJs,使用到express框架,对于网上的学习资料甚少,因此本人会经常在开发中做一些总结. express获取参数有三种方法:官网介绍如下 Checks route params (req.params), ex: /user/:id Checks query string params (req.query), ex: ?id=12 Checks urlencoded body params (req.body), ex

基于node.js+Express.js+Jade+MongoDB开发Web即时聊天系统

本课程要求学员了解JavaScript,本课程适合希望更深入的学习Node.js,从事Web前端方向开发的大学生朋友,或者希望借助Node.js更优的性能与后台结合生产出更有价值的网站的在职程序员 咨询QQ:2199289905 课程目录 第一部分.理论讲解部分: 1.初识node.js 2.node.js特性 3.node.js核心库(console.Timers.util.Event) 4.node.js核心库(Buffer.Stream.FileSystem) 5.node.js核心库(F

node.js+Express.js+Jade+MongoDB开发Web即时聊天系统视频教程下载

ode.js+Express.js+Jade+MongoDB开发Web即时聊天系统视频教程下载  联系QQ:1026270010  一.课程背景 1.什么是Node.js ? Node.js 是一个可以快速构建网络服务及应用的平台 .该平台的构建是基于Chrome's JavaScript runtime,也就是说,实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装. V8引擎执行Javascript的速度非常快,性能非常好.Node对一些特殊用例进行了优化,