用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框架在本机快速搭建一台服务器的更多相关文章
- NodeJs使用Express框架开发时的快速调试方法
习惯了php开发,可以直接使用echo或者var_dump()将想要查看的变量结果输出到网页查看,非常的方便.但是使用express开发时,每次修改文件后,都需要使用npm start命令重启服务,然 ...
- nodejs的Express框架源码分析、工作流程分析
nodejs的Express框架源码分析.工作流程分析 1.Express的编写流程 2.Express关键api的使用及其作用分析 app.use(middleware); connect pack ...
- 其他综合-VMware 从模板机快速克隆多台
VMware 从模板机快速克隆多台 1.实验描述 通过 CentOS 7.6 的模板机快速克隆,为实现搭建其他项目而提供干净的实验平台. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的 ...
- 【nodejs】express框架+mysql后台数据查询
一 环境部署 1,首先安装nodejs,并配置好环境变量(看自己习惯), 2,安装Express npm install express -g //全局安装 npm install express-g ...
- NodeJs针对Express框架配置Mysql进行数据库操作
Express版本:4.14.1 说明:如下配置以express为例进行配置并进行测试,当然mysql中间件也可以在nodejs中单独使用. 参考:NodeJs的Mysql中间件Github地址 1. ...
- nodejs基础 -- express框架
Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...
- nodejs的express框架创建https服务器
一 openssl创建https私钥和证书 1.下载windows版openssl: http://slproweb.com/products/Win32OpenSSL.html Win64OpenS ...
- 在nodeJs的Express框架下用TypeScript编写router路由出现import关键字错误的解决方案
问题出现场景 在项目中采用nodejs做中间层,做页面的首屏渲染,同时采用express作为主web框架,其中express的router页面路由我采用ts语言来编写.如下: //page.ts 文件 ...
- nodejs的express框架
介绍: Express是由路由和中间件构成一个的nodejs的一种web应用框架; 功能: 可以设置中间件来响应 HTTP 请求. 定义了路由表用于执行不同的 HTTP 请求动作. 可以通过向模板传递 ...
随机推荐
- Gedit 有用插件介绍
刚刚接触Ubuntu,对于高手们用的Vim,本人只能望尘莫及.但是,Ubuntu自带的Gedit让我找到了windows的感觉,而且在添加一些插件后更加喜欢这个工具了. gedit本身带有一些常用插件 ...
- c2java select algorithm
对于非常多应用来说,随机算法是最简单的或者最快的.既简单又快的有没有呢? 那须要深刻的洞察力或者革命性的突破. 什么是随机算法 随机算法与确定算法差别是:它还接收输入随机比特流来做随机决策. 对于同一 ...
- Android应用的自动更新模块
软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很 ...
- [转] spring的普通类中如何取session和request对像
在使用spring时,经常需要在普通类中获取session,request等对像.比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2 ...
- 转: FFmpeg功能命令汇总
原文: FFmpeg功能命令汇总 前言 如此强大的FFmpeg,能够实现视频采集.视频格式转化.视频截图.视频添加水印.视频切片.视频录制.视频推流.更改音视频参数功能等.通过终端命令如何实现这些功能 ...
- xbox360 双65厚机自制系统无硬盘 U盘玩游戏方法
因为没有硬盘,又没有光盘.所以想把游戏放在U盘里面.用U盘来做为硬盘玩游戏. 现有的自制系统主要是FSD,但是FSD要用硬盘才能安装,理论上U盘也可以,但是我没有尝试了. 这里介绍的是玩xex格式的游 ...
- Android网络功能之会话发起协议SIP
原文:http://android.eoe.cn/topic/android_sdk * 会话发起协议* Android提供了一个支持会话发起协议(SIP)的API,这可以让你添加基于SIP的网络电话 ...
- 关于Java Webproject中web.xml文件
提及Java Webproject中web.xml文件无人不知,无人不识,呵呵呵:系统首页.servlet.filter.listener和设置session过期时限.张口就来,但是你见过该文件里的e ...
- [svc]ssh批量分发key/批量用户管理
centos6 sshpass批量分发key yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 命令说 ...
- 使用FiddlerCore来截取替换Http请求中的网页内容
做过测试的应该都知道Fiddler,它可以很方便截取Internet上的网页替换成本地的,或者修改其中的一部分内容后呈现.简单地说就是可能监测所有HTTP连接,设置断点,胡乱修改.是测试调试的一件利器 ...