在第一篇文章中,介绍了技术选型:从 0 构建自动化测试平台 (一) 之技术选型
接下来就要开始和大家分享具体的产品实现,在此之前我还是想聊一下测试对编程语言的掌握程度,或者说是熟悉程度,主要是和开发的区别,简单说就是:用到哪里学哪里;没有一定要求对编程语言进行系统的学习,在我看来如果系统学习一下这些大把的语言 (Node.js、python、html、css、js),就有可能出现还没开始呢,就已经放弃了!我也曾经一度的在针扎和反省:我这样不是在浪费生命吗?对于基础不好的我来说系统学习一门编程语言是无聊 + 痛苦的,(虽然懂了之后就很简单,但过程还是比较痛苦)系统学习有点像学校里面的学习模式,从第一章学习到最后一章,完了之后还是不会,这就出现了还没开始呢就已经放弃了的悲剧,这也是符合 2/8 原则的:80% 有用的内容,在 20% 的章节里面。简单总结我的个人经验:
推荐一个教程:菜鸟教程
当然了,以上的学习也是有弊端的,会让你的进度一开始变的非常的慢,因为你要边学习边 coding,但是每天进步一点点,别有一番滋味,不管怎么样,至少有一个好的开始,以上学习方法仅供参考,如果你具有较强的开发能力请无视。
我就是一个从 0 基础开始的测试,所以不用担心,你也可以。
好了,说完了简 (gao) 易 (duan) 的学习方法,就可以开始今天的话题了:WEB 服务器构建之 Node.js+Express,直接进入主题:
Express 是一个简洁而灵活的 node.js Web 应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 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 框架来构建 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,里面有非常详细的介绍。