Errata: October 31, 2018
Unless otherwise noted, all corrections have been made to all versions.

Thank you for purchasing Express in Action. Please post any errors, other than those listed below, in the book's Author Online Forum. We'll update this list as necessary. Thank you!

Page 24, Listing 2.8

return Math.floor((Math.random() * MAX));
should be
return Math.floor(Math.random() * MAX);.

Page 46, Listing 3.20

content: request.body.body
should be
body: request.body.body,

Page 47, Listing 3.23

<%= entry.body %> should be <%= entry.content %>.

Page 61, Paragraph 2

This paragraph talks about fs.exists but it should talk about fs.stat as show in Listing 4.5.

Page 76, Listing 5.9

Looks like you didnbt find a static file.
should be
Looks like you didn't find a static file. (note the change in apostrophe).

Page 83, Listing 5.18

The second <link> tag has an extra indent that is unneeded.

Page 109, Listing 7.4

This correction hasn't been made to any version.

<%=: career | capitalize %> no longer works in newer versions of EJS and should be <%= career.toUpperCase() %>.

Page 133, Listing 8.15

This listing doesn't stand on its own. Express app won't work until you finish at least all of the code up until Listing 8.28, on page 142.

Page 175, Figure 10.1

The titlebar icon shows the Atom logo where it should be the Sublime Text logo.