title: How do I add to 'view options' in Express?
body: <p>I am learning to use Express. I want to do:</p>
  
  <pre><code>app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.set('view options', { layout: false });    /* asterisk */
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(app.router);                           /* dagger */
    app.use(express.static(__dirname + '/public'));
  });
  
  app.configure('development', function(){
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
    app.use(express.logger('dev'));
    app.set('view options', { pretty: true });     /* asterisk */
  });
  </code></pre>
  
  <p>The additions I made were:</p>
  
  <ul>
  <li>use 'layout:false' for Jade.</li>
  <li>pretty-print the HTML in Jade.</li>
  <li>turn on the logger, with the 'dev' format</li>
  </ul>
  
  <p>There are two problems:</p>
  
  <ol>
  <li><p><code>/* asterisk */</code> when I set 'pretty: true' I am overriding my previous options, rather than adding to them. I.e., my program breaks unless I add <code>{ pretty: true, layout: false }</code> which feels redundant and can't be correct. How can I correct it so that I am only "modifying" the view options, rather than "defining" them?</p></li>
  <li><p><code>/* dagger */</code> The logger does not acknowledge my requests, except for <code>/favicon.ico</code>. I find if I remove the <code>app.use(app.router);</code> line, then I'll see both <code>/</code> and <code>/favicon.ico</code>. What is going on here?</p></li>
  </ol>