前言:
现时兄弟们对“nodejs执行python脚本”大约比较讲究,看官们都想要分析一些“nodejs执行python脚本”的相关内容。那么小编同时在网摘上汇集了一些对于“nodejs执行python脚本””的相关文章,希望你们能喜欢,小伙伴们快快来了解一下吧!nodejs是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
今天,我们通过Express框架,搭建一个nodejs 简单的多租户web应用。
express 创建单个站点应用
// app.tsimport express from 'express';import compression from 'compression';// 创建应用const app = express();// 开启gzipapp.use(compression());app.use("/static", express.static("assets"));app.get('/', (req, res) => { res.send('<h1>Hello World!</h1><img src="/static/logo.png" />')});var server = app.listen(8081, () => { var host = (server.address() as any).address; var port = (server.address() as any).port; console.log("服务器启动成功了端口是:", port);});
上面的例子中,通过访问localhost:8081、127.0.0.1:8081我们得到了相同效果,这不是我们所期望的。
基本文件隔离,渲染时处理(不推荐)
// app.tsimport * as core from 'express-serve-static-core';import express from 'express';import compression from 'compression';// 创建应用const app = express();// 开启gzipapp.use(compression());app.use("/static", express.static("assets"));const getSiteDirName = (req: core.Request) => { return (req.headers.host || '').replace(/:\d*$/, '');}app.get('/', (req, res) => { const dirName = getSiteDirName(req); res.send(`<h1>Hello World!</h1><img src="/static/${dirName}/logo.png" />`)});var server = app.listen(8081, () => { var host = (server.address() as any).address; var port = (server.address() as any).port; console.log("服务器启动成功了端口是:", port);});
虽然达到了目的,但是这样的实现方式,应该不是我们想要的。
使用sendFile 访问静态资源前处理(推荐)
// app.tsimport path from 'path';import * as core from 'express-serve-static-core';import express from 'express';import compression from 'compression';// 创建应用const app = express();// 开启gzipapp.use(compression());//express.static("assets");app.use('/static', (req: core.Request, res: core.Response) => { const dirName = getSiteDirName(req); const filePath = `/assets/${dirName}${decodeURIComponent(req.path)}`; res.sendFile(filePath, { root: __dirname });});const getSiteDirName = (req: core.Request) => { return (req.headers.host || '').replace(/:\d*$/, '');}app.get('/', (req, res) => { res.send(`<h1>Hello World!</h1><img src="/static/logo.png" />`)});var server = app.listen(8081, () => { var host = (server.address() as any).address; var port = (server.address() as any).port; console.log("服务器启动成功了端口是:", port);});
到这,一个基本的例子已经呈现。
人人为我,我为人人,欢迎您的浏览,我们一起加油吧。
标签: #nodejs执行python脚本