我有以下代码:
var express = require("express"); var app = express(); var path = require("path"); app.use(express.static(__dirname + '/public')); app.get('/',function(req,res){ res.sendFile(path.join(__dirname+'/views/index.html')); res.set('Access-Control-Allow-Origin', '*'); }).listen(3000); console.log("Running at Port 3000"); app.get('/test', function(req, res) { res.json(200, {'test': 'it works!'}) })
我将有许多服务(如test一项服务),并且我不想将它们全部放在同一个文件中。
test
我在Stack Overflow中读了另一个问题,我可能需要这样的其他文件:var express = require("./model/services.js");在该文件中写入所有服务,但是app is not defined当我启动Node时会抛出该错误。
var express = require("./model/services.js");
app is not defined
如何分隔代码?
您可以在不同的文件(例如 test-routes.js)中 定义路由,如下所示:
module.exports = function (app) { app.get('/test', function(req, res) { res.json(200, {'test': 'it works!'}) }) }
现在在您的主文件中说出 server.js, 您可以像这样导入路由文件:
var express = require("express"); var app = express(); var path = require("path"); app.use(express.static(__dirname + '/public')); app.get('/',function(req,res){ res.sendFile(path.join(__dirname+'/views/index.html')); res.set('Access-Control-Allow-Origin', '*'); }).listen(3000); console.log("Running at Port 3000"); // import your routes require('./test-routes.js')(app);