違いは、直接操作することで、プレフィックスapp.locals
を使用する代わりに、テンプレートの「トップレベル」変数を作成できることです。settings.
app.set(key, value)
と同じapp.locals.settings[key] = value
です; 前者は、Expressの特定の部分(設定などview engine
)を構成するための推奨される方法です。
編集:彼らが同じことをどのように行うかを示す小さなデモ:
var app = require('express')();
app.set('foo', 'bar');
console.log('app.get("foo"):', app.get('foo')); // 'bar'
console.log('app.locals.settings.foo:', app.locals.settings.foo); // 'bar'
app.locals.settings['foo'] = 'another bar';
console.log('2nd app.get("foo"):', app.get('foo')); // 'another bar'