回顾

在第一篇文章中,介绍了技术选型:从 0 构建自动化测试平台 (一) 之技术选型

接下来就要开始和大家分享具体的产品实现,在此之前我还是想聊一下测试对编程语言的掌握程度,或者说是熟悉程度,主要是和开发的区别,简单说就是:用到哪里学哪里;没有一定要求对编程语言进行系统的学习,在我看来如果系统学习一下这些大把的语言 (Node.js、python、html、css、js),就有可能出现还没开始呢,就已经放弃了!我也曾经一度的在针扎和反省:我这样不是在浪费生命吗?对于基础不好的我来说系统学习一门编程语言是无聊 + 痛苦的,(虽然懂了之后就很简单,但过程还是比较痛苦)系统学习有点像学校里面的学习模式,从第一章学习到最后一章,完了之后还是不会,这就出现了还没开始呢就已经放弃了的悲剧,这也是符合 2/8 原则的:80% 有用的内容,在 20% 的章节里面。简单总结我的个人经验:

Express 简介

Express 是一个简洁而灵活的 node.js Web 应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:

安装 Express

安装 Express 并将其保存到依赖列表中:

$ npm install express --save

以上命令会将 Express 框架安装在当前目录的 node_modules 目录中, node_modules 目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:

$ npm install body-parser --save
$ npm install cookie-parser --save
$ npm install multer --save

安装完后,我们可以查看下 express 使用的版本号:

$ npm list express
└── express@4.13.4

Express 框架实例

接下来我们使用 Express 框架来构建 WEB 服务。
我们引入了 express 模块,并在客户端发起请求后,输出对应的响应。
创建 app.js 文件,代码如下所示:
app.js 文件代码:

//app.js 文件
var express = require('express')
    ,path = require('path')
    ,fs = require('fs')
    ,logger = require('morgan')
    ,methodOverride = require('method-override')
    ,session = require('express-session')
    ,cookieParser = require('cookie-parser')
    ,bodyParser = require('body-parser')
    ,errorHandler = require('errorhandler')
    ,multer = require('multer')
    ,url = require("url")
    ,app = express();
// all environments
app.set('port', process.env.PORT || 8089);
app.set('view engine', 'pug'); //设置模板引擎
app.set('views', path.join(__dirname, '/res/app/views')); //设置模板引擎相对路径(相对当前目录)
app.use(express.static(path.join(__dirname, 'static'))); //设置静态文件目录
app.use(session({
    resave: true,
    saveUninitialized: true,
    secret: 'uwotm8'
}));
app.use(cookieParser());

app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());

/* 访问主页*/
app.get('/', function (req, res) {
    res.render('home');
});

/* Listen端口*/
var server = app.listen(app.get('port'), function () {
    var host = '127.0.0.1';
    console.log("访问地址:http://%s:%s", host, app.get('port'));
});

/* http服务器监听error事件*/
server.on('error', function (err) {
    // 端口被占用
    if (err.code == 'EADDRINUSE') {
        console.log('port [%s] is used, please change other port.', app.get('port'))
    }
});

app.js 基本内容就是以上内容了,接下来要在/res/app/view 目录下创建 home.pug,里面的内容就是你主页的具体内容。
执行以上代码:

$ node app.js 
INF/app.js 93151 [*] 访问地址:http://127.0.0.1:8089

就这样,我们完成 Node.js 的服务器搭建。

补充说明:

1、app.set('view engine', 'pug'); //设置模板引擎
以上需要安装 pug,和 express 的安装一样,

npm install pug

这里我是用 package.json 来管理的,里面的内容是:

{
  "name": "kmtestplatform",
  "version": "0.0.1",
  "dependencies": {
    "body-parser": "~1.15.2",
    "cookie-parser": "1.4.3",
    "errorhandler": "^1.1.1",
    "express": "~4.13.4",
    "express-session": "^1.7.2",
    "pug": "^2.0.0-beta12",
    "method-override": "^2.1.2",
    "morgan": "^1.2.2",
    "multer": "~1.1.0",
    "rethinkdbdash": "2.3.19",
    "serve-favicon": "^2.0.1",
    "rethinkdb": "^2.2.0",
    "debug": "0.7.4",
    "chalk": "~1.1.1"
  }
}

如果有了 package.json 管理依赖库就比较简单了,只要在 package.json 目录下执行 npm install,就会自动安装对应的依赖,部署到生产环境下就变的比较方便了。
2、express+node.js 的搭建我参考的是菜鸟教程nodejs-express-framewor,里面有非常详细的介绍。

3、相关资料
Express 官网
Express4.x API 中文版
Express4.x API


↙↙↙阅读原文可查看相关链接,并与作者交流