我想从url请求中运行NodeJS文件index.js,每当我像localhost:8080这样命中该URL时,它就会自动运行index.js文件。
答案 0 :(得分:0)
我不确定您要做什么,但也许像这样简单吗?
var yourSuperAwesomeAPI = require('./yourSuperAwesomeAPI.js');
var http = require('http');
http.createServer(function (req, res) {
switch(req.url){
case '/': res.write('website.com'); break;
case '/about_us': res.write('website.com/about_us'); break;
case '/api':
yourSuperAwesomeAPI();
break;
default: res.write('website.com/error_404');
}
res.end();
}).listen(8080);
您可以像这样运行它。您还可以获取url参数,因此可以进行输入,因此您可能想查看nodejs的url模块,或者可以通过google搜索如何获取url参数。
正如我说的那样,我不确定是否要执行此操作,是否只返回一个略有不同但通常非常相似的.js文件。
答案 1 :(得分:0)
您可以使用nodejs的child process模块在nodejs中执行任何shell命令或脚本。
创建一个可执行的bash文件,例如:
myProcess.sh>
node <path-to-file>/index.js
在您的网址处理程序中,您可以像下面这样发起呼叫:
const exec = require('child_process').exec;
var yourscript = exec('sh myProcess.sh',
(error, stdout, stderr) => {
if (error !== null) {
console.log(`exec error: ${error}`);
}
}
)