diff --git a/lib/config.js b/lib/config.js
index <HASH>..<HASH> 100644
--- a/lib/config.js
+++ b/lib/config.js
@@ -508,6 +508,17 @@ exports.extend = function(newConf) {
     variableProperties.forEach(function(name) {
       config[name] = newConf[name] || pkgConf[name];
     });
+    var extra = newConf.extra;
+    if (extra && typeof extra === 'string') {
+      extra = readFileText(extra);
+      try {
+        extra = extra && JSON.parse(extra);
+        if (extra && typeof extra === 'object') {
+          config.pluginsDataMap = extend({}, config.pluginsDataMap, extra);
+        }
+      } catch (e) {}
+      extra = null;
+    }
     var customHandler = newConf.customHandler || newConf.customHandle;
     if (typeof customHandler === 'function') {
       config.customHandler = customHandler;
refactor: read json from extra