[英]Deploying Ghost - How to define the root path of an application that is managed with NPM forever?
[英]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.