我正在開發一個NPM程序包,它需要從應用程序根目錄需要一個模塊。把它看作需要一個屬性模塊的包,它被用戶放在應用程序根目錄下。NPM - 應用程序根目錄的路徑
如何獲取應用程序根目錄的路徑?
UPDATE:
總結什麼,我試圖做的,明確允許你做這樣的事情:
app.use(express.router(myNPMModule.router));
路由器功能將得到app
作爲參數。這個想法是允許用戶在一個單獨的文件中指定路由,並且他們只需要遵循某些約定,比如將他們的控制器放在/controllers
文件夾中,我的模塊將能夠動態地解析路徑,然後調用正確的方法在正確的模塊中。我已經知道它的工作原理了,但是我意識到,如果我將它打包在NPM中,我不再能夠訪問應用程序的路徑,所以我不能動態調用控制器模塊的方法。
你不應該那樣做,而應該讓用戶用屬性調用「構造函數」(或者你有的任何函數)。 – alessioalex
請參閱我對其他答案的評論。我正在寫一個路由器,我期待用戶遵循某些約定。就像將他的控制器放在「controllers/moduleName.js」中 - 然後基於URL,我將能夠調用正確的控制器和方法。 – jeffreyveon
試試我寫的npm [rainbow](https://npmjs.org/package/rainbow)。這是一個與將URL映射到控制器文件路徑的要求相同的路由器中間件。 – mytharcher