2015-01-19 10 views

risposta

25

Sì, è possibile. Per evitare ambiguità e per una più facile implementazione, useremo un simbolo di prefisso hash come marker della vostra convention:

require("#./components/SettingsPanel"); 

Quindi aggiungere questo al file di configurazione (naturalmente, si può refactoring in un secondo momento):

var webpack = require('webpack'); 
var path = require('path'); 

var MyConventionResolver = { 
    apply: function(resolver) { 
    resolver.plugin('module', function(request, callback) { 
     if (request.request[0] === '#') { 
     var req = request.request.substr(1); 
     var obj = { 
      path: request.path, 
      request: req + '/' + path.basename(req) + '.js', 
      query: request.query, 
      directory: request.directory 
     }; 
     this.doResolve(['file'], obj, callback); 
     } 
     else { 
     callback(); 
     } 
    }); 
    } 
}; 


module.exports = { 
    resolve: { 
     plugins: [ 
     MyConventionResolver 
     ] 
    } 
    // ... 
}; 
+1

vedere anche: https://github.com/webpack/docs/wiki/list-of-plugins#resolverplugin e https://github.com/webpack/webpack/blob/master/lib/ResolverPlugin.js # L13 – jantimon

Problemi correlati