我的NodeApplication有一个长的webserver.js文件,基本上它是做什么的,它有一个用于显示静态页面的Express模块,还有一些处理GET和POST Request的功能。
这些GET和POST请求将在内部调用某些REST服务以获取数据并将RESULT传递给浏览器,因此REST API不会公开。
var express = require('express');
var request = require('request');
var compression = require('compression');
var bodyParser = require('body-parser');
var app = express();
var util = require("util");
async = require("async");
app.use(compression());
app.use(bodyParser.json({}));
app.use(bodyParser.urlencoded({ extended: true }));
require('./node_scripts/session.js')(app);
var Url = require('./node_scripts/ServiceUrls.js');
//REDIRECT TO PUBLIC DIRECTORY
app.use('/', express.static(__dirname + '/public'));
//GET TEMPLATES FOR FORM
app.get('/Templates', function(req, res) {
var MyJsonData = {
AccessToken: req.session.AccessToken || 0
};
console.log(MyJsonData);
request({
url: Url.UserService + 'GetTemplates', //URL to hit
method: 'POST',
json: MyJsonData
}, function(error, response, body) {
if (error) {
res.send("dummytext");
res.end();
console.log("/Templates (send dummy data) ->" + error);
} else {
console.log("/Templates REST Response");
console.log(response.statusCode, body);
res.send(body);
res.end();
}
})
});
app.get('/AnotherRequest', function(req, res) {
});
..
..
..
app.get('/AnotherNthRequest', function(req, res) {
});
因此,我如何分割文件,以便可以将某些请求分为单独的js文件,并且开发起来会更容易
我对NodejS完全陌生。是的,但我有经验是PHP,在这种情况下不会帮我
您可以为此使用快速路由器。
下面的代码简单演示了如何修改您的代码。
您的主文件分为三部分
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json({}));
app.use(bodyParser.urlencoded({
extended: true
}));
//REDIRECT TO PUBLIC DIRECTORY
app.use('/', express.static(__dirname + '/public'));
// Send request to the routes
var router = require('./routes')(app, express);
// Append the router
app.use('/', router);
将您的路线处理放在这里。
var myController = require('./controller');
module.exports = function (app, express) {
// Create route handlers
var router = express.Router();
router.route('/Templates')
//GET TEMPLATES FOR FORM
.get(function (req, res) {
myController.myFunction(req,res);
});
router.route('/AnotherRequest')
.get(function (req, res) {});
..
..
..
router.route('/AnotherNthRequest')
.get(function (req, res) {});
return router;
};
将您的逻辑放在这里。
var request = require('request');
var Url = require('./node_scripts/ServiceUrls.js');
exports.myFunction = function (req, res) {
var MyJsonData = {
AccessToken: req.session.AccessToken || 0
};
console.log(MyJsonData);
request({
url: Url.UserService + 'GetTemplates', //URL to hit
method: 'POST',
json: MyJsonData
}, function (error, response, body) {
if (error) {
res.send("dummytext");
res.end();
console.log("/Templates (send dummy data) ->" + error);
} else {
console.log("/Templates REST Response");
console.log(response.statusCode, body);
res.send(body);
res.end();
}
})
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句