Static Module Resolution

Brendan Eich brendan at
Sun Jul 1 18:59:43 PDT 2012

Kevin Smith wrote:
>     Not in the browser. Again, for like the umpteenth time, without a
>     pre-processor, require is not equivalent to import. You have to
>     put the continuation in a callback passed to require.
> I was just joking that if a legacy script needed to be distinguished 
> on the import side, then we might just as well use Node's current 
> "require" for the purpose.  I wasn't trying to say anything about 
> browsers in that statement.

Ok -- node.js and only node.js context was far from clear in your reply, 
or upstream in the thread.

It would be an unhappy thing to hear Nodesters say "I'm all right, Jack" 
meaning: synchronous require for us, and the devil take the browser. It 
was good to hear Isaac affirm that synchronous require was a compromise 
with Node's "never block" principle motivated by require() usability and 
the startup vs. non-startup runtime tradeoff.

For my part, I would never say that Node should move to ES6 modules on 
any definite schedule. Rather, my point is that whatever works for Node 
because of synchronous require does not carry over to the browser, and 
therefore Harmony designers have to look at both embeddings.


>     It's no use pretending we have some great module story on the web
>     browser side, with which to preserve "interop". We don't have any
>     such story.
> Fair enough.
> - Kevin
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list