如何从URL请求运行NodeJS文件

时间:2019-09-11 11:25:52

标签: javascript node.js express http

我想从url请求中运行NodeJS文件index.js,每当我像localhost:8080这样命中该URL时,它就会自动运行index.js文件。

2 个答案:

答案 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}`);
    }
  }
)