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!');
};
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!');
};