fixed issue: require return empty object instead of undefined if module name is wrong
Merge remote-tracking branch 'origin/3_1_X' into 3_1_X