Jaka jest różnica między ustawieniem właściwości w app.locals a wywołaniem app.set ()?

Jestem w trakcie uczenia Express - i myślę o najlepszym miejscu do zapisania danych stylu konfiguracji. Dostępne opcje to app.locals lub app.set (ustawienia) ... więc:

app.locals({ config: {
    name: 'My App',
    domain: 'myapp.com',
    viewPath: __dirname+'/views',
    viewEngine: 'jade'
    port: 3000
} });

app.set('view engine', app.locals.config.viewEngine || 'jade');

Pozwoliłoby mi to również na wykorzystanie następujących w moich widokach:

<title>#{config.name}</title> // <title>My App</title>

Lub alternatywą jest użycie app.set w ten sposób:

app.set('name', 'My App');
app.set('domain', 'myapp.com');

... a następnie użyj tego w widoku:

<title>#{settings.name}</title>

Wiem, że obie metody działają, ale staram się określić, która metoda jest lepsza. W tej chwili skłaniam się ku używaniu app.locals, z dodatkową przestrzenią nazw „app”, ponieważ uważam, że przy korzystaniu z app.set będzie mniej szans na konflikty z przyszłymi aktualizacjami i innymi modułami.

questionAnswers(4)

yourAnswerToTheQuestion