Modules
- 10.1 Always use modules (import/export) over a non-standard module system.
- 10.2 Do not use wildcard imports.
- 10.6 In modules with a single export, prefer default export over named export.
- Interpretation: multiple exports allowed
- Confusing as hell
- ESM vs CommonJS vs ES6
If using
export default
use import var from module
:export const foo = 42
export default 21;
If you want the
21
, use import bar from './input';
import barImport from './input';
console.log(barImport); // 21
const barRequire = require('./input');
console.log(barRequire);
/*
{
foo: 42,
default: 21,
}
*/
export const types = () => {}
is different from
export function types() { }
| | | Goals | |
CommonJs | module.exports = ... | var module = require('module') | | |
AMD | | define(['dependency1'], function(dependency1 | Load synchronously | Asynchronous Module Definition |
UMD | | | | Universal Module Definition |
ESM | | | | |
Last modified 4yr ago