Skip to content

Instantly share code, notes, and snippets.

@riskers
Last active November 28, 2019 18:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save riskers/3e73de7e74a1cbe05162207be9286881 to your computer and use it in GitHub Desktop.
Save riskers/3e73de7e74a1cbe05162207be9286881 to your computer and use it in GitHub Desktop.
module in es6 vs commonjs
// es6
export var foo = 'foo';
setTimeout(() => foo = 'baz', 500);

// main
import {foo} from './t.js';
console.log(foo); // foo
setTimeout(() => console.log(foo), 500); // baz
// commonjs
var foo = 'foo'
module.exports = {
  foo: foo
}
setTimeout(() => foo = 'baz', 500);

// main
var foo = require('./t.js').foo
console.log(foo); // foo
setTimeout(() => console.log(foo), 500); // foo
// commonjs
var counter = 3;
function incCounter() {
  counter++;
}
module.exports.counter = counter
module.exports.incCounter = incCounter

var mod = require('./t');

console.log(mod.counter);  // 3
mod.incCounter();
console.log(mod.counter); // 3
// es6
var counter = 3;
function incCounter() {
  counter++;
}
module.exports = {
  get counter() {
    return counter
  },
  incCounter: incCounter,
};

// main
import { counter, incCounter } from './t';
console.log(counter); // 3
incCounter();
console.log(counter); // 4
@riskers
Copy link
Author

riskers commented Nov 28, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment