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

简介

用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框架在本机快速搭建一台服务器的更多相关文章

  1. NodeJs使用Express框架开发时的快速调试方法

    习惯了php开发,可以直接使用echo或者var_dump()将想要查看的变量结果输出到网页查看,非常的方便.但是使用express开发时,每次修改文件后,都需要使用npm start命令重启服务,然 ...

  2. nodejs的Express框架源码分析、工作流程分析

    nodejs的Express框架源码分析.工作流程分析 1.Express的编写流程 2.Express关键api的使用及其作用分析 app.use(middleware); connect pack ...

  3. 其他综合-VMware 从模板机快速克隆多台

    VMware 从模板机快速克隆多台 1.实验描述 通过 CentOS 7.6 的模板机快速克隆,为实现搭建其他项目而提供干净的实验平台. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的 ...

  4. 【nodejs】express框架+mysql后台数据查询

    一 环境部署 1,首先安装nodejs,并配置好环境变量(看自己习惯), 2,安装Express npm install express -g //全局安装 npm install express-g ...

  5. NodeJs针对Express框架配置Mysql进行数据库操作

    Express版本:4.14.1 说明:如下配置以express为例进行配置并进行测试,当然mysql中间件也可以在nodejs中单独使用. 参考:NodeJs的Mysql中间件Github地址 1. ...

  6. nodejs基础 -- express框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  7. nodejs的express框架创建https服务器

    一 openssl创建https私钥和证书 1.下载windows版openssl: http://slproweb.com/products/Win32OpenSSL.html Win64OpenS ...

  8. 在nodeJs的Express框架下用TypeScript编写router路由出现import关键字错误的解决方案

    问题出现场景 在项目中采用nodejs做中间层,做页面的首屏渲染,同时采用express作为主web框架,其中express的router页面路由我采用ts语言来编写.如下: //page.ts 文件 ...

  9. nodejs的express框架

    介绍: Express是由路由和中间件构成一个的nodejs的一种web应用框架; 功能: 可以设置中间件来响应 HTTP 请求. 定义了路由表用于执行不同的 HTTP 请求动作. 可以通过向模板传递 ...

随机推荐

  1. 观文章《Linux系统管理员修炼三层次》有感

     层次,都不陌生,通俗讲,就是和档次挂钩的,初入江湖时,都想自己几年后,武艺精深,深藏百技,忙时带领团队打BOSS,闲时喝酒论道,博古纵今,想想都令人精神满满,干劲十足!!! 至今已入江湖几载,回首来 ...

  2. VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件

    OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...

  3. 树莓派进阶之路 (031) -字符问题(1) - GBK汉字编码表(转)

    转载:http://blog.sina.com.cn/s/blog_8184e033010109ug.html   基本简介 GB码,全称是GB2312-80<信息交换用汉字编码字符集基本集&g ...

  4. linux c学习笔记----线程创建与终止

    进程原语 线程原语 描述 fork pthread_create 创建新的控制流 exit pthread_exit 从现有的控制流中退出 waitpid pthread_join 从控制流中得到退出 ...

  5. iscsi target 之LIO配置

    LIO 配置 现在主流Linux都可以设置iSCSI,如STGT/TGT.LIO Target等.Linux-IO(LIO)Target是当前Linux标准的iSCSI target的开源实现,包含在 ...

  6. IDEA使用笔记(一)——使用前的基本设置

    前言:记忆不好,有些东西需要的时候又需要找一找,那就不如让“纸和笔”来帮忙记录一下啦!到时候查找也方便,而且是自己的东西印象更加的深刻,说不定还能帮助到他人多好玩的事情! 软件的下载.安装就不记啦!自 ...

  7. 【转】Scheme 编程环境的设置

    Scheme 编程环境的设置 介绍了这么久的 Scheme,却没有讲过如何配置一个高效的 Scheme 的编程环境.有些人开始学习 Scheme 的时候感觉无从下手,所以今天讲一下它的配置. Sche ...

  8. Linux下多路复用IO接口epoll/select/poll的区别

    select比epoll效率差的原因:select是轮询,epoll是触发式的,所以效率高. Select: 1.Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认 ...

  9. Java批量插入更新操作

    以前总是说批量插入和更新的效率比非批量的要高,但是一直没有使用过批量处理数据的功能,现在由于项目中需要处理的数据量比较大,所以使用了批量处理的功能,java代码如下: 1.java实现批量插入数据: ...

  10. JEECG中t:dictSelect的extendJson用法

    1.t:dictSelect的各个属性值如下: 属性名 类型 描述 是否必须 默认值 title string 标题 否 null field string 控件字段名字 是 null typeGro ...