Hacker News new | ask | show | jobs
by solcloud 601 days ago
thank you, yes like you said all client-side dependencies are "bundled" inside repository, for reading client code start.js is good starting point (https://github.com/solcloud/Counter-Strike/blob/master/www/a...), for server side starting point is server.php (https://github.com/solcloud/Counter-Strike/blob/master/cli/s...)
1 comments

What is the reason behind wrapping code inside an IIFE (Immediately Invoked Function Expression)?

JavaScript modules are scoped, so nothing can be accessed outside unless explicitly exported.

FYI, you don't even need an IIFE. ES modules are block-scoped by default.

  // Instead of,
  let foo
  (function() {
    const bar = 1
    foo = bar
  })()
  // `bar` is out of scope here

  // You can just,
  let foo
  {
    const bar = 1
    foo = bar
  }
  // `bar` is out of scope here too
I guess history reasons