If you are using AMD style, check if the module aliases match the dependency list. Take below code as an example. module1 is the alias of path/to/mod1, module2 for path/to/mod2, and so on. You can skip some dependencies not assigning them aliases, like path/to/mod4 in below, but all the skipped modules must be at the end of the dependency list.
define(["path/to/mod1", "path/to/mod2", "path/to/mod3", "path/to/mod4"], function(module1, module2, module3) {
// body content
});
More than likely, in your map.js, the position of parser in the alias list does not match the position of module dojo/parser in the dependency list.
Otherwise, please post map.js code for further inspection.