Using the ES6 module format
We wrote the Notes application using CommonJS modules, the traditional Node.js module format. While the application could continue using that format, the JavaScript community has chosen to switch to ES6 modules in both browser and Node.js code, and therefore it's important to switch ES6 modules so we can all get on board with a common module format. Let's rewrite the application using ES6 modules, and then write ES6 modules for anything new we add.
The changes required are large to replace require
statements with import
statements, and renaming files from foo.js
to foo.mjs
. Let's get started.
Rewriting app.js as an ES6 module
Let's start with app.js
, changing its name to app.mjs
:
$ mv app.js app.mjs
Change the block of require
statements at the top to the following:
importfsfrom'fs-extra'; importurlfrom'url'; importexpressfrom'express'; importhbsfrom'hbs'; importpathfrom'path'; import util from 'util'; importfaviconfrom'serve-favicon'; importloggerfrom'morgan'; importcookieParserfrom...