Expressjs 我的自定义脚本文件执行然后导致我的服务器到 500

Expressjs my custom script file executes and then causes my server to 500

var express = require('express');
var router = express.Router();

var root = "resources/"; //where the files will be stored

/* GET home page. */
router.get('/', function(req, res) {
  res.render('index');
});
router.get('/exec', function(req, res){

  var value = req.query.script;  
  if(value){      
      var scriptsToRun = value.split(', ');   
      console.log(scriptsToRun);
      if(scriptsToRun){      
        for(var i = 0; i < scriptsToRun.length; i++){
          console.log(i);
          var thisScript = require(root + scriptsToRun[i]);
          thisScript(); //execute the script         
        }      
      }    
      console.log("All scripts run loaded:");
      console.log(scriptsToRun);
  }  
  res.render('index');  
});

module.exports = router;

而我的简单脚本只是控制台日志 'hello'

console.log('hello!');

所以现在,当查询参数与 /node_modules/resources 文件夹中的脚本匹配时,它就会执行(我得到日志)。但在我收到 500 错误后立即。我不知道为什么。

分享您的想法哦,明智的委员会。

您的简单脚本无法导出函数(或任何东西,就此而言),因此 thisScript 将是未定义的。

改为使用:

module.exports = function() {
  console.log('hello!');
};