Comment puis-je accéder à l’atsortingbut uploadDir de express?

Dans express app.js, je définis uploadDir = “./tmp” , mais comment puis-je y accéder plus tard?

app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser({uploadDir:'./tmp', keepExtensions: true})); // <-- app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); 

Les arguments en faveur d’un middleware tel que bodyParser vont directement au middleware. Tout le middleware Express est fourni par Connect, de sorte qu’il ne sait même rien sur Express. uploadDir est capturé dans la fermeture en plusieurs uploadDir . Il est stocké via la fermeture et jamais stocké ailleurs, ni passé à Express. Le seul moyen d’accéder à la valeur d’origine est donc d’y accéder dans le cadre de l’object options initialement transmis. Il n’y a pas d’autre moyen.

Si vous souhaitez que cette valeur soit accessible en lisant depuis l’ app (comme vous l’avez dit dans votre commentaire), vous devez la définir vous-même séparément. Cela dit, cette méthode est un peu moche et signifie que vous devez définir la valeur deux fois.

 app.set('uploadDir', './tmp');