As a web developer, you may confused with these module import/export usages:
exports.xx = xxmodule.exports = xxexport xxexport default xxrequire('..')orimport xx from '..'?
Here are a brief instruction of these two module format usages:
CommonJs module format
Named exports
1  | # name export demo.js  | 
Module.exports
1  | # demo.js  | 
Actually, the module is like this:
1  | {  | 
the module.exports === exports in exports.name1 and exports.name2, when we use require('demo.js') to import a module, it is same as:
1  | const obj = module.exports  | 
ES6 module
ES6 uses export instead of exports:
1  | # demo.js  | 
Of course it supports default export:
1  | # demo.js  | 
You could even mix the default export and named export:
1  | # demo.js  |