Somehow the paths configuration for dojo isn't properly set up.
My guess is that the commerce module isn't found or isn't loaded properly so the client side configuration telling dojo where to find the commerce parts is missing. As we can see from your screen shots the failed request to Catalogs.js goes to the dtk folder inside the Shell module, which is where the dojo core files are located and where dojo tries to find resources if not told otherwise.
Each module location is configured in the dojoConfig.paths property, which is written to the page before the application starts. You can look at the configuration in either the page source or from the js debugger the next time you get the error.
You can also look at the loaded modules if you go to yoursecretpath/shell/debug/ShellModules. This requires a configuration setting in web.config, and you shouldn't enable it on production sites since it reveals quite a lot about the application.
Thanks for the hints. I found that the commerce module reference was absent in dojoConfig.paths. I fixed the problem by modifying the module.config file.
*Many years later*
I thought I'd share my solution too. Just in case someone stumbles upon this post. In our case, modules\_protected\EPiServer.Commerce.Shell was not included in the project, so when we did a publish, this folder never came along.
We upgraded our EPiServer CMS + Commerce solution from v.6 R2 to 7. After that we noticed that CMS edit mode wasn't loaded correctly. A screen was blank and the following error message was in a console:
GET http://localhost:17000/sitemanagement/Shell/1.0.456/ClientResources/dtk/commerce/component/Catalogs.js 404 (Not Found) dojo.js:15
We found that clearing ASP.net temp files resolved the problem.
Unfortunatelly it's just a temporary solution. The problem appears on all environments from time to time. Does someone have any ideas about the cause of such a strange behavior?
We've already applied the latest patch.