Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
63 lines (46 sloc) 1.75 KB

Modules

  • AirBNB JavaScript Style Guide: 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,
}
*/

Notes

export const types = () => {}

is different from

export function types() { }

Clearing Confusing

Goals
CommonJs module.exports = ... var module = require('module')
AMD define(['dependency1'], function(dependency1 Load synchronously Asynchronous Module Definition
UMD Universal Module Definition
ESM

You can’t perform that action at this time.