Node's require caches module, so calling require() multiple times comes with little cost. Also 'use strict'; is present in the body of the function. This form of the function allows to easily embed amdefine programmatically by just including its string representation.
module.exports is no longer incorrectly passed as this into define with id
…Allows distributing single file JS files in node.
… Axel Rauschmayer