Add `exports.extra` option for loading extra modules

With `exports.extra` option, you can load extra modules.

* `exports.extra` must be an array

var nextTarget = target[field]; 这样就不会导致 target 被覆盖了, 也不需要 this._target 了