Module resolution is the process of converting a module identifier to a module's file path. The Rust port of enhanced-resolve is used for module path resolution, which is an extension to the node module resolution algorithm with the same interface as enhanced-resolve, refer to resolve configuration for more information about module resolution configuration.
Rspack supports the following three kinds of file paths:
Since this path is already an absolute path, there is usually no need to do further parsing, just return the path directly.
In this case, the directory where the resource files using import and require are located is considered the context directory. The relative path given in import/require is spelled out with that context directory path to generate the absolute path to the module.
Module paths are those that do not start with './'
, '../'
, '/'
. In this case, Rspack will resolve the absolute path of the module according to the module resolution rules. The node module resolution algorithm has a detailed description of the rules for resolve modules.