从零开始学习Express一 Hello Wolrd

新公司是做区块链开发的,框架主要用的Node.js、Express、React等。作者本人以前只是耳闻,没有实际使用过,但凭借多年浸淫软件界的经验(自吹一下,嘿嘿),并且对javascript非常熟悉,因此简单查了下资料并实际运行几遍代码后,基本可以入手了。但作为一个老程序员这是远远不够的,绝对不能满足于此,因此决定从头开始做一个简单的博客项目,以加强对以上技术的了解。

有了目标之后,开始准备环境,安装Node.js和npm的说明网上一大堆,这里就不在赘述了,请不会的同学自行百度。

作者的开发环境为Windows 7,下面开始正式进入学习过程

作者是边学边练,如有错误,请一定指正,感谢!!

1.创建一个目录myblog,你也可以用别的名字

2.进入myblog目录,执行以下命令

npm init

  这个命令主要用来创建package.json文件,我的理解这是我们应用的主配置文件,主要用来配置应用名称、版本、入口文件、说明、作者、命令、依赖库等信息。

  命令之后会有一系列输入要求,基本可以回车,只有两处我们改一下
  entry point: (index.js) 这里用来指定入口文件,默认是index.js,我们改成app.js(输入app.js,回车)
  test command: 这里用来指定测试启动命令,我们输入node app.js,然后回车
  一直回车,直到出现Is this ok? (yes),我们确认无误,输入yes,回车
  至此,我们已经成功创建了重要的配置文件package.json,可以在目录中看到,内容基本如下:

{
  "name": "myblog",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "node app.js"
  },
  "author": "wangxm",
  "license": "ISC",
}

3.新建一个文件,命名为app.js,这个是我们应用的入口。

4.打开我们刚刚创建的app.js文件

   引入express模块,这是我们主要的学习对象

var express = require('express');

   创建一个应用实例

var app = express();

   创建一个路由,路由就是用户访问时的网址,可以指定方法类型,get或post,因为我们要做一个网页,因此使用get

app.get('/', function(req, res, next) {
    res.send('hello world.');
  });

  req是请求对象
  res是响应对象
 
  好了,现在我们有了一个应用并且定义了一个指向根目录的路由,下面我们就来启动服务

app.listen(8080, function() {
  });

  别忘了保存

5.现在我们回到myblog目录,试试启动我们的应用

npm test

  如果一切正常,应该显示如下内容

> myblog@1.0.0 test E:\work\myblog
> node app.js

现在我们打开浏览器,输入http://localhost:8080,运行正常,页面输出hello world.

6.不对,好像没有运行起来,好吧,我们现在回到myblog目录,安装express模块

npm install express --save

  --save参数是将模块安装到dependencies配置项下,是应用运行时需要的模块,发布时要安装
  --save-dev参数是将模块安装到devDependencies配置项下,是辅助我们开发的模块,发布时可以忽略

  安装完后,package.json内容如下:

{
  "name": "myblog",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "node app.js"
  },
  "author": "wangxm",
  "license": "ISC",
  "dependencies": {
    "express": "^4.15.4"
  }
  }

  现在我们重新执行第5步操作,ok,这次真的运行成功。

7.这里是app.js完整内容,加了一些参数处理和404错误处理,大家可以体会下

//引入express模块
var express = require('express');

//创建应用实例
var app = express();

//创建路由
app.get('/', function(req, res, next) {
    //获取username参数
    var name = req.query.name;

    //设置输出编码格式为utf-8,否则中文会乱码
    res.setHeader("content-type", "text/html;charset=utf-8");

    if (typeof(name) == "undefined")
    {
        res.end('您好,请用name参数告诉我您的名字!');
    }
    else
    {
        res.end('Hello ' + name);
    }
});

//启动应用,开启请求监听
var server = app.listen(8080, function() {
});

//404处理
app.use(function(req, res, next) {
    res.send('404 - 没找到。');
});

好了,今天我们已经创建了一个应用,并且可以接受请求,处理404。后面我们会继续更深入的学习。

posted @ 2017-09-13 18:34  bcbr_wang  阅读(167)  评论(0编辑  收藏  举报