NodeJS学习之3:express和Utility的配合使用

1:我们来新建一个 lesson2 项目,并生成一份它的 package.json。

$ mkdir lesson2 && cd lesson2
$ npm init

OK,这时会要求我们输入一些信息,乱填就好了,反正这个地方也不用填依赖关系。

npm init 这个命令的作用就是帮我们互动式地生成一份最简单的 package.json 文件,init 是 initialize 的意思,初始化。

当乱填信息完毕之后,我们的目录下就会有个 package.json 文件了。

这时我们来安装依赖,这次的应用,我们依赖 express 和 utility 两个模块。

$ npm install express utility --save

这次的安装命令与上节课的命令有两点不同,一是没有指定 registry,没有指定的情况下,默认从 npm 官方安装,上次我们是从淘宝的源安装的。二是多了个 --save 参数,这个参数的作用,就是会在你安装依赖的同时,自动把这些依赖写入 package.json。

命令执行完成之后,查看 package.json,会发现多了一个 dependencies 字段,如下图:

2:diff express和utility安装前后json文件的变化,(其中package2.json是在安装前对package.json的backup)

3:开始写代码

// 引入依赖
var express = require(‘express‘);
var utility = require(‘utility‘);

// 建立 express 实例
var app = express();

app.get(‘/‘, function (req, res) {
  // 从 req.query 中取出我们的 q 参数。
  // 如果是 post 传来的 body 数据,则是在 req.body 里面,不过 express 默认不处理 body 中的信息,需要引入 https://github.com/expressjs/body-parser 这个中间件才会处理,这个后面会讲到。
  // 如果分不清什么是 query,什么是 body 的话,那就需要补一下 http 的知识了
  var q = req.query.q;

  // 调用 utility.md5 方法,得到 md5 之后的值
  // 之所以使用 utility 这个库来生成 md5 值,其实只是习惯问题。每个人都有自己习惯的技术堆栈,
  // 我刚入职阿里的时候跟着苏千和朴灵混,所以也混到了不少他们的技术堆栈,仅此而已。
  // utility 的 github 地址:https://github.com/node-modules/utility
  // 里面定义了很多常用且比较杂的辅助方法,可以去看看
  var md5Value = utility.md5(q);

  res.send(md5Value);
});

app.listen(3000, function (req, res) {
  console.log(‘app is running at port 3000‘);
});

OK,运行我们的程序

$ node app.js

访问 http://localhost:3000/?q=alsotang,完成。

时间: 2024-12-23 19:24:21

NodeJS学习之3:express和Utility的配合使用的相关文章

NodeJS学习笔记之express

Express学习 API分析 Set.Get app.set('title', 'My Site'); app.get('title'); // "My Site" app.get(“string”)和app.get(path, [callback...], callback)要区别开,前面一个函数是获取string的value,而后一个是路由函数. 下面的内建的可以改变Express行为的设置 env 运行时环境,默认为 process.env.NODE_ENV 或者 "

nodejs学习笔记(2)--Express下安装模版引擎ejs

成功安装完express后,输入express -help,根据提示安装ejs(如下图): 根据提示-e实现安装ejs,注意此处有坑:之前安装的时候根据教程(node.js开发指南第五章5.2.2节)直接输入express -t ejs microblog建立网站基本结构,结果报错:jade has been renamed to pug...然后又一头雾水查报错问题,就是因为没有看清express -help的提示信息.所以接下来需要继续输入如下: (创建的文件后缀为ejs) 然后按照提示进入

NodeJS学习之2:express版的Hello World

接着 NodeJS学习之1:express安装 的结果: 我们继续应用程序的编写. 新建一个 app.js 文件 $ touch app.js copy 进去这些代码 // 这句的意思就是引入 `express` 模块,并将它赋予 `express` 这个变量等待使用. var express = require('express'); // 调用 express 实例,它是一个函数,不带参数调用时,会返回一个 express 实例,将这个变量赋予 app 变量. var app = expre

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

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

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内置对象.E

Nodejs学习-2 express ejs 片段视图

在Express框架下,使用ejs模板引擎: 支持默认的layout布局需要express-partials模块: 使用include代替partials: 片段视图显示方式也与3.x版不同,采用如下方式: routers/index.js 添加: router.get('/list', function(req, res) {   res.render('list',{     layout:false,     title: 'Express',     items: ['1', '2', 

Nodejs初阶之express

Nodejs初阶之express 2014-02-28 23:00 by 聂微东, 85627 阅读, 26 评论, 收藏, 编辑 PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:) 老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了,工作以来头一回在一家企业工作超俩年,对于这俩年确实只有满满的成就感,不管是工作还是生活...写到这句突然又想写篇这俩年的总结,等这篇文章发了之后就着手整理吧,吼吼. 那篇<n

【转】Nodejs初阶之express

老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了,工作以来头一回在一家企业工作超俩年,对于这俩年确实只有满满的成就感,不管是工作还是生活...写到这句突然又想写篇这俩年的总结,等这篇文章发了之后就着手整理吧,吼吼. 那篇<node.js 初体验>好像才发生在前几月,没想到时间已过两年有多.且看到文章末尾处那句: “这篇文章只会是一个开始” 令俺脸红掩面,尼玛真没想到这一开始就开始了两年多,这让老夫情何以堪... 好吧,反正脸皮厚已不是俩三天,让俺装傻

NodeJS学习资料合集

1. 官网 nodejs 2.  How do I get started with Node.js,stackoverflow提问,收集很多有用的站点 3.  node-books,github收集很多node相关书籍,可以clone下来 4.  Nblog,nodejs+express+mongodb实现的博客学习教程,有中文文档 5.  cnode,中文nodejs学习论坛 6. node debug,介绍几种如何调试nodejs方法 7. GitHub最受关注的前端大牛,好几个是Node