簡體   English   中英

NPM-到應用程序根目錄的路徑

[英]NPM - path to root of the application

我正在開發NPM軟件包,該軟件包需要從應用程序根目錄開始需要一個模塊。 可以將其視為需要屬性模塊的軟件包,該模塊由用戶放置在應用程序根目錄中。

如何獲得應用程序根目錄的路徑?

更新:

總結一下我想做的事情,express允許您做這樣的事情:

app.use(express.router(myNPMModule.router));

路由器功能將獲取app作為參數。 想法是允許用戶在單獨的文件中指定路由,他們只需要遵循某些約定,例如將其控制器放在/controllers文件夾中,我的模塊將能夠動態解析路徑,然后調用正確的路徑。正確模塊中的方法。 我已經可以使用它了,但是只是意識到,如果將其打包在NPM中,我將無法再訪問應用程序的路徑,因此無法動態調用控制器模塊的方法。

讓用戶調用一個設置變量的函數:

  myModule.setProps(json)
  OR
  myModule = new MyModule(json)

然后,用戶可以要求其root配置並使用它來初始化您的模塊。

更新以響應已編輯的問題:

Express允許您定義如下路線:

var routes = require('./routes')
app.get('/info', routes.info);

//Routes Module
exports.info = function(req, res) {
  res.render('info', {title: 'Express'})
};

我相信這正是您要嘗試做的。 不是嗎

更新2:

您可以使用__dirname查找當前正在執行的腳本所在的目錄

console.log(__dirname);

我有同樣的問題。

而且我只能找到以下環境變量幫助:

process.env.PWD

它總是指向運行它的應用程序路徑的根。

嘗試這個。

var path = require('path');
console.log(path.dirname(module.parent.filename));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM