zoukankan      html  css  js  c++  java
  • 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,完成。

  • 相关阅读:
    javascript基础全等号运算符
    javascript 使用ScriptX实现打印
    跨服务器与本地服务器不同数据库的SQL操作语句
    ASP.NET网络上实现单点登录
    FGMap API 帮助文档
    基于ArcEngine写的GoogleMap地图切割程序
    基于SuperMap Objects写的GoogleMap地图切割程序(三)
    使用SuperSocket开发联网斗地主(四):出牌
    JAVA创建对象方法
    Mysql 外键约束
  • 原文地址:https://www.cnblogs.com/wocn/p/4504883.html
Copyright © 2011-2022 走看看