ServerJS/Modules/Meta: Difference between revisions

explicated more details about require.paths
(explicated more details about require.paths)
Line 9: Line 9:
## …
## …
## The "require" function may have a "main" property that is the top-level "id" of the program.
## The "require" function may have a "main" property that is the top-level "id" of the program.
## The "require" function may have a "paths" attribute, that is a prioritized Array of path Strings, from high to low, of paths to top-level module directories. The "paths" property must not exist in "sandbox" (a secured module system).
## The "require" function may have a "paths" attribute, that is a prioritized Array of path Strings, from high to low, of paths to top-level module directories.
### The "paths" property must not exist in "sandbox" (a secured module system).
### The "paths" attribute must be referentially identical in all modules.
### Replacing the "paths" object with an alternate object may have no affect.
### If the "paths" attribute exists, in-place modification of the contents of "paths" must be reflected by corresponding module search behavior.
### If the "paths" attribute exists, it may not be an exhaustive list of search paths, as the loader may internally look in other locations before or after the mentioned paths.
### If the "paths" attribute exists, it is the loader's prorogative to resolve, normalize, or canonicalize the paths provided.
# In a module, there must be a free variable "module", that is an Object.
# In a module, there must be a free variable "module", that is an Object.
## The "module" object must have an "id" that is the top-level "id" of the module.
## The "module" object must have an "id" that is the top-level "id" of the module.
171

edits