2016-09-29 16 views
-1

我在app.js編寫的代碼爲:如何將代碼從一個路徑文件中分離出來,以及如何從這些分離的文件中調用函數?

var express = require("express"); 
var bodyParser = require("body-parser"); 
var app = express(); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

var routes=require("./routes/routes1")(app);//ipn listner 

var server = app.listen(3000, function() { 
    console.log("Listening on port %s...", server.address().port); 
}); 

我的代碼休息是在根文件夾下./routes/routes1.js; 我有下,但一些功能都與同一個實體的許多功能

例子:

  • fun1fun2fun3涉及customer實體
  • fun4fun5都與其他實體
  • fun1可能會打電話fun5

問題是我需要將fun1fun2fun3分離成單獨的.js文件。
我該怎麼做,如何將其他文件的功能調用到一個文件中?

+0

你只給我們一個明確的應用程序的基礎上,你的問題是關於路由。你可以將你的'funX'放在不同的文件中並且'需要'它們,但那又是另一個問題。這個問題現在過於寬泛。 – DrakaSAN

回答

0

你的問題太寬泛了,但這裏有一個例子可以幫助你。您可能希望創建以下目錄結構

myapp 
├── app.js 
├── _function 
│ ├── func1.js 
│ ├── func2.js 
│ ├── func3.js 
│ 
├── _routes 
│ ├── routes1.js 
│ ├── routes2.js 

其中myapp是根腳文件夾(項目文件夾),而routes文件夾包含所有路線和function文件夾包含所有功能,可以在其他js文件使用

app.js

var express = require("express"); 
var bodyParser = require("body-parser"); 
var app = express(); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

var routes1 = require("./routes/routes1"); 
var routes2 = require("./routes/routes2"); 

// http://localhost:3000/routes1 
app.use('/routes1', routes1); 

// http://localhost:3000/routes2 // http://localhost:3000/routes2/list 
app.use('/routes2', routes2); 

var server = app.listen(3000, function() { 
    console.log("Listening on port %s...", server.address().port); 
}); 

func1.js

module.exports = function(arg1, arg2) { 
    var add = arg1 + arg2; 
    return add; 
} 

func2.js

module.exports = function(arg1, arg2) { 
    var add = arg1 * arg2; 
    return add; 
} 

func3.js

module.exports = function(arg1, arg2) { 
    var add = arg1 - arg2; 
    return add; 
} 

routes1.js

var express = require('express'); 

var func1 = require('../function/func1'); 

var router = express.Router(); 

router.get('/', function(req, res, next) { 
    var result = func1(2, 3); 
    res.json({func1: result, url: req.url, message:'success'}); 
}); 

module.exports = router; 

routes2.js

var express = require('express'); 

var func2 = require('../function/func2'); 
var func3 = require('../function/func3'); 

var router = express.Router(); 

router.get('/', function(req, res, next) { 
    var result = func2(2, 3); 
    res.json({func1: result, url: req.url, message:'success'}); 
}); 

router.get('/list', function(req, res, next) { 
    var result = func3(2, 3); 
    res.json({func1: result, url: req.url, message:'success'}); 
}); 

module.exports = router; 

我希望這將有助於您瞭解如何使用功能到另一個文件

相關問題