2017-04-06 124 views
-1

我正在學習node.js,並且我遇到了這種方式將我的服務器文件拆分爲不同的文件,以便更好地維護它。Node.js將服務器文件劃分爲單獨的文件

問題是,我已經看過所有這些老辦法將文件分成幾個文件。 例如爲:How to split monolithic node.js javascript

Divide Node App in different files

How to split a single Node.js file into separate modules

How to split Node.js files in several files

但所有這些方法不工作了,他們已經過時。現在我正試圖找到一種方法,我們現在可以分割文件。這不是在這裏,也不是在谷歌。現在我找了好幾個了一個多小時,我無法找到這樣做的正確方法..

回答

0

你很可能使用(需要)標籤,包括您的文檔中的Node.js

require('/home/user/module.js'); 

只是把它們放在正確的地方

1

這些鏈接絕對有效。下面是一個例子

greeter.js

module.exports = { 
    hello: function(name) { 
     console.log("Hello, " + name); 
    }, 
    bye: function(name) { 
     console.log("Goodbye, " + name); 
    } 
}; 

index.js

var greeter = require('greeter'); 

greeter.hello("Foo"); 
greeter.bye("Bar"); 

Here is the Node.js documentation for it.

0

如果你有一個文件,例如server.js這樣的:

function a() { 
    console.log('This is a()'); 
} 

function b() { 
    a(); 
} 

b(); 

然後你就可以像這樣把它分解:

server.js

const b = require('./b'); 

b(); 

b.js

const a = require('./a'); 

function b() { 
    a(); 
} 

module.exports = b; 

a.js

function a() { 
    console.log('This is a()'); 
} 

module.exports = a; 

查看文檔的更多信息:

另見這個答案並說明如何做你想要什麼更復雜的情況比我這裏顯示:

也看到那些回答一些有趣的細節:

0

我得到它的工作。比如下解決辦法:

文件:

server.js (root dir) 
routes.js (root dir/routes/routes.js) 

Server.js

var express = require('express'); 
var app  = express(); 
var routes = require('./routes/routes'); 

app.listen(3001); 
routes(app); 
console.log('Started listening on port : 3001'); 

routes.js

module.exports = function(app) { 
    app.get('/', function(req, res) { 
     res.end('test'); 
     console.log('Received GET request.'); 
    }); 
}; 
+0

你可以看看快車中間件代替(而不是「路線(路由)') –

相關問題