美文网首页
零基础node.js lesson2

零基础node.js lesson2

作者: 倮奔也是一种美 | 来源:发表于2017-10-11 10:28 被阅读0次

    本节目标

    建立一个 lesson2 项目,在其中编写代码。

    当在浏览器中访问http://localhost:3000/?q=alsotang时,输出alsotang的 md5 值,即bdd5e57b5c0040f9dc23d430846e68a3。

    知识点

    学习 req.query 的用法

    学习建立 package.json 来管理 Node.js 项目。

    课程内容

    本课程的每个 lesson 里面的示例代码都会带上一份 package.json,大家可以去看看它的大概样子。

    $ mkdir lesson2 && cd lesson2

    $ npm init

    $ npm install express utility --save

    这时查看node_modules目录,会发现有两个文件夹,分别是 express 和 utility

    我们开始写应用层的代码,建立一个app.js文件,复制以下代码进去:

    //引入依赖

    var express=require('express');

    var utility=require('utility');

    //建立 express 实例

    varapp=express();app.get('/',function(req,res) {

    //从 req.query 中取出我们的 q 参数。//如果是 post 传来的 body 数据,则是在 req.body 里面,不过 express 默认不处理 body 中的信息,需要引入 https://github.com/expressjs/body-parser 这个中间件才会处理,这个后面会讲到。//如果分不清什么是 query,什么是 body 的话,那就需要补一下 http 的知识了varq=req.query.q;//调用 utility.md5 方法,得到 md5 之后的值//之所以使用 utility 这个库来生成 md5 值,其实只是习惯问题。每个人都有自己习惯的技术堆栈,//我刚入职阿里的时候跟着苏千和朴灵混,所以也混到了不少他们的技术堆栈,仅此而已。//utility 的 github 地址:https://github.com/node-modules/utility//里面定义了很多常用且比较杂的辅助方法,可以去看看

    varmd5Value=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,完成。

    题外话

    如果直接访问http://localhost:3000/会抛错

    可以看到,这个错误是从crypto.js中抛出的。

    这是因为,当我们不传入q参数时,req.query.q取到的值是undefined,utility.md5直接使用了这个空值,导致下层的crypto抛错。

    相关文章

      网友评论

          本文标题:零基础node.js lesson2

          本文链接:https://www.haomeiwen.com/subject/aswiyxtx.html