用nodejs的express框架在本机搭建一台服务器

Posted 目前在腾讯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用nodejs的express框架在本机搭建一台服务器相关的知识,希望对你有一定的参考价值。

[本文出自天外归云的博客园]

简介

用express框架在本机搭建一个服务器,这样大家可以通过指定的url来在你的服务器上运行相应的功能。

Express是一个基于nodejs的框架,我们可以用它来完成服务端的编写。

安装

首先安装nodejs和npm,这俩东西有点儿像python和pip的关系,nodejs是一种js的封装,而npm可以为nodejs安装一些库。

有了nodejs后安装express

之后在本地创建一个文件夹,作为node服务器所在的文件夹,我这里取名为mocker。安装点击这里查看教程。

之后在mocker文件夹里创建一个static文件夹用来放静态资源文件用。

再创建一个scripts文件夹用来放我的python脚本。

我的思路就是用户访问我的服务器我本地nodejs可以调用python脚本来完成一些任务,然后把结果呈现给用户。

我的node脚本叫mocker.js,内容如下:

function sleep(sleepTime) {
    for(var start = +new Date; +new Date - start <= sleepTime; ) { } 
}

function exec_cmd(cmdStr) {
    var exec = require(\'child_process\').exec;
    exec(cmdStr, function(err,stdout,stderr){
        if(err) {
            console.log(\'Error:\'+stderr);
        } else {
            console.log(stdout);
        }
    });
}

var express = require(\'express\');
var app = express();
var path = require(\'path\');
console.log(path.join(__dirname, \'/\'));
app.use(express.static(path.join(__dirname, \'/\')));
var distribution = \'/static/html/distribution.html\'

app.get("/distribution", function (req, res) {
    var cmdStr = \'python scripts/check_tasks_distribution.py\';
    exec_cmd(cmdStr);
    var fs = require("fs");
    fs.exists(path.join(\'static\', \'html\', \'distribution.html\'), function(exists) {  
        if (exists) {
            res.redirect(distribution);
        } else {
            exec_cmd(cmdStr);
            sleep(1000);
        }
    });
});

var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log(\'Listening at http://%s:%s\', host, port);
});

主体思路就是当用户访问distribution这个路由的时候就会在我的服务端执通过命令行来执行scripts文件夹下的check_tasks_distribution.py这个脚本,然后把生成的静态资源文件distribution.html页面打开。这个脚本我是用的之前写的一个关于统计组内大家正在进行中的jira任务的统计功能

启动

在mocker路径下执行命令行启动mocker.js服务端文件:

之后就可以在浏览器通过http://server-ip:3000/distribution来访问查看正在进行中的jira任务列表了。

启发

我们可以将平时编写的对日常工作有帮助的脚本集成到这个服务端,这样就可以将脚本和工具平台化展示给同事,达到共享的目的。

以上是关于用nodejs的express框架在本机搭建一台服务器的主要内容,如果未能解决你的问题,请参考以下文章

前端进阶之路-二如何用gulp搭建一套web前端开发框架

vue+elementUI框架,nodejs+router搭建本地服务器,数据库用mongoose,axios请求碰到的一些问题

利用PXE搭建一健装机平台

nodejs 使用express搭建框架总是报错。

如何零基础搭建一套微服务框架

前端进阶之路-一如何用gulp搭建一套web前端开发框架