2012-10-15 50 views
1

我有一個明確的項目中,我有像這樣的目錄結構,express.js是否具有主目錄的概念?

  • 我的應用程序內
    • 路線
      • index.js
    • 意見
    • 公共
    • 組件
      • 工具欄
    • 測試
      • 組件
      • 工具欄

現在讓我們從我的路說,我想要求組件工具欄我不喜歡這樣

toolbar = require(__ dirname +'/../components/toolbar')

現在當我運行我的路線測試時,我需要路線。當我這樣做時,在運行時出現錯誤,無法找到工具欄文件。

是否有像全局可用的__express_home我可以在我的需求使用,以便我不會遇到這個問題?然後我會用它作爲這樣,

工具欄=需要(__ express_home + '/組件/工具欄')

回答

2

你可以這樣做:

toolbar = require('../components/toolbar') 

下面是明確的GitHub庫的example

var express = require('../..') 
    , app = express() 
    , site = require('./site') 
    , post = require('./post') 
    , user = require('./user'); 
+0

這不會(不),因爲組件的工作是不是在路線目錄。它在上面一級。 –

+0

謝謝。這樣可行。 –

1

只是使用一個相對路徑,無論你在哪裏require()它。

./routes/index.js ./config.js

從./routes/index.js

var cfg = require('../config');