如何使用node.js中的路由器function调用服务器端方法?

我想使用节点的路由器function来调用服务器端方法。 我没有使用快递生成器来生成项目结构。

我在Mukesh Sharma的回答中对代码进行了一些修改,并使其工作:

Server.js(服务器代码)

var express = require('express'); var app = express(); var routes = require('./FirstAppServer/route'); app.use('/', routes); // //set static folder app.use(express.static('FirstApp/public')); app.use('/module', express.static('node_modules')); app.listen(3000, function () { console.log('Port 3000'); }); app.get('/', function (req, res) { res.redirect('login.html'); }); module.exports = app; 

route.js

 var express = require('express'); var router = express.Router(); router.post('/endpoint', function (req, res, next) { console.log('Server side call'); next(); }); module.exports = router; 

的test.html

 <!doctype html> <html> <head> <title>Login</title> <script src="js/jquery-3.1.0.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { testServerCall(); }); function testServerCall(){ debugger; $.ajax({ type:"post", url:"/endpoint", data:{ "a":"a" }, success:function(){ console.log('success'); }, error:function(){ console.log('error'); } }); } </script> </head> <body> <div id="divLogin"> <input type="text" id="txtUsername" /> </div> <h2>Login</h2> <a href="createUser.html">Create User</a> </body> </html> 

您可以在不同的文件中定义路由,并可以在server.js导入。

server.js – 服务器代码

 var express =require('express'); var apis = require('./api.js'); var app = express(); app.use('/api', apis); app.listen(3000); 

api.js – Api路由器

 var express =require('express'); var router = express.Router(); router.get('/users', function (req, res) { return res.json([{ name: 'John Doe', email: 'john@doe.com' }]); }); module.exports = router; 

希望它可以帮助你。