如何理解CommonJS模块加载的复杂性和细节?