在nodejs服务器上提供文件的更好方法,而不是if/else
better method for serving files on nodejs server instead of if/else
我有一个端点,它提供一个文件供用户根据用户在网页上的选择下载。然而,根据用户选择的可能性,我能想到的解释这一切的唯一方法是使用if/else语句。
router.post('/process', function(req, res) {
if(req.query.os == 'Windows' && req.query.rec == 'Computer Information' && req.query.report == 'Local Report') {
res.send('http://localhost:3033/proc/windows/info/local/files.zip');
} else if (req.query.os == 'Windows' && req.query.rec == 'User Information' && req.query.report == 'Local Report') {
res.send('http://localhost:3033/proc/windows/uinfo/local/files.zip');
}
}
如果我添加Linux或OSX的选项,我也必须考虑这些选项,结果代码会变得非常长和丑陋。有没有更好的方法让我解释这件事?
您可以将变量转换为url部分。它将更容易维护。例如:
router.post('/process', function(req, res) {
var url_parts = {
'os' : {
'Windows' : 'windows',
'Linux' : 'linux',
'OSX' : 'mac'
},
'rec' : {
'Computer Information' : 'info',
'User Information' : 'uinfo'
},
'report' : {
'Local Report' : 'local',
'Global Report' : 'global'
}
};
res.send(
'http://localhost:3033/proc/'
+ url_parts.os[req.query.os]
+ '/' + url_parts.rec[req.query.rec]
+ '/' + url_parts.report[req.query.report]
+ '/files.zip'
);
});
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- Javascript Return and if/else
- JavaScript if-else 速记错误
- 如何检查if/else语句中的随机条件
- 在javascript中创建数组,而不是if.else
- Javascript If else 只返回 TRUE 或只返回 FALSE
- jquery if else不返回警报消息
- 在Javascript中为if/else语句添加OR
- If Else Java Script HTML
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 我应该如何应用if-else条件来向具有不同用户角色的人显示不同的菜单
- geoTest函数-创建if/else语句
- JavaScript中的温度转换器(IF ELSE条件)
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- 编写if-else语句的更好方法
- 在if/else语句中显示DIV
- PHP If Else-隐藏按钮
- JavaScript if/else未按预期操作
- if/else运算符未更改
- 名称不能以''jquery-if-else条件中的字符