First, there are two things you might mean by "piece of code". One is "the source code for a library/script", which is necessarily identified by a URL on the Web (perhaps by a filename in other contexts, like Node). That stays as a string in every design. The other is "a library that I know I have available", and that we're not using strings for. Instead, you refer to modules by name, just like variables are referred to by name in JS.
It might be useful not to make that distinction. Node.js does not make it which gives you the possibility to isolate yourself locally from the rest of the system. That is, you can override “system modules” locally.