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
]
}
// ...
};
fonte
2015-04-24 23:30:05
Wow, perfetto, questo era esattamente quello che stavo cercando! – nils