How to split Node.js files in several files

前端 未结 2 1735
旧巷少年郎
旧巷少年郎 2020-12-19 15:00

I have this code:

var express = require(\"express\");
var app     = express();
var path    = require(\"path\");

app.use(express.static(__dirname + \'/public         


        
相关标签:
2条回答
  • 2020-12-19 15:45

    your test.js should look something like:

    var express = require('express');
    var router = express.Router();
    
    router.get('/test', function (req, res) {
      res.json(200, {'test': 'it works!'});
    });
    
    module.exports = router;
    

    and the app.js (assuming other is some other route defined similarly to test.js):

    var test = require("./routes/test.js");
    var other = require("./routes/other.js");
    ...
    //all your code for creating app 
    ...
    app.use('/test', test);
    app.use('/other', other);
    
    0 讨论(0)
  • 2020-12-19 15:47

    You can define your routes in different files say test-routes.js like this:

    module.exports = function (app) {
        app.get('/test', function(req, res) {
            res.json(200, {'test': 'it works!'})
        })
    }
    

    Now in your main file say server.js you can import your route file like this:

    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);
    
    0 讨论(0)
提交回复
热议问题