NPM - cesta ke kořeni žádosti

hlasů
1

Jsem rozvoj balíček NPM, který potřebuje, aby vyžadovala modul z kořene aplikace. Ber to jako obalu vyžadující modul vlastností, který je umístěn v kořenové aplikace uživatelem.

Jak získám cestu k kořenu aplikace?

AKTUALIZACE:

Abychom to shrnuli, co se snažím dělat, express vám umožní udělat něco takového:

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

Funkce router dostane appjako parametr. Představa je umožnit uživatelům zadat trasy do samostatného souboru, a to stačí dodržovat určité konvence jako dávat své kontrolory ve /controllerssložce a můj modul bude schopen dynamicky analyzovat cestu, a pak vyvolat správnou metodu správný modul. Už jsem ho pracovat, ale jen si uvědomil, že když jsem zabalit jej do NPM, už nemám přístup k cestě aplikace, takže nemohu vyvolat metodu řadičem modulu dynamicky.

Položena 14/11/2011 v 09:35
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Aby si uživatel volání funkce, která nastaví proměnné:

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

Pak uživatel může požadovat jejich kořenový config a init svůj modul s ním.

Aktualizujte V odpovědi na otázku upravil:

Express umožňuje definovat cesty, jako je tento:

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

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

Věřím, že to je přesně to, co se snažíte dělat. Je to tak?

Aktualizace 2:

Můžete najít adresář aktuálně vykonávající skript pomocí __dirname

console.log(__dirname);
Odpovězeno 14/11/2011 v 11:08
zdroj uživatelem

hlasů
1

Mám stejnou otázku.

A já mohu jen najít tuto proměnnou prostředí pomoc:

process.env.PWD

Bylo by vždy poukázat na kořenového adresáře cesta aplikace, kde běží.

Odpovězeno 21/10/2012 v 12:09
zdroj uživatelem

hlasů
1

Zkuste to.

var path = require('path');
console.log(path.dirname(module.parent.filename));
Odpovězeno 09/07/2013 v 23:01
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more