2015-06-27 19 views
7

Il seguente codice example funzionerà solo se il modulo some-module è un modulo nodo e non funzionerà per i moduli caricati dal plug-in Webpack.Risolvere il modulo caricato dal plugin nella configurazione di Webpack

Come si può utilizzare la logica di Webpack (enhanced-resolve) per risolvere i percorsi del modulo in config?

Nel mio caso era bower-webpack-plugin, ma credo che questo dovrebbe funzionare nello stesso modo con qualsiasi ResolverPlugin

var BowerWebpackPlugin = require("bower-webpack-plugin"); 
module.exports = { 
    ... 
    module: { 
     plugins: [new BowerWebpackPlugin()], 
     loaders: [ 
      { 
       // this won't work 
       test: require.resolve("some-bower-module") 
       loader: "imports?this=>window" 
      } 
     ] 
}; 
+0

Penso che i test del caricatore debbano essere un oggetto RegExp: http://webpack.github.io/docs/using-loaders.html#configuration – matpie

+0

@sirlancelot Ho dovuto usare espressioni regolari come soluzioni temporanee che sono fragili. Preferirei abbinare i moduli con il loro nome, se possibile. – estus

risposta

1

require.resolve all'interno webpack.config.js viene risolto da un nodo e non risolutore di Webpack. È possibile utilizzare require("path").resolve("path/to/bower/module") per ottenere il percorso completo del modulo Bower.

+0

Esatto. La domanda è come usare invece il resolver Webpack. Certo, non è la domanda più semplice, considerando come è documentato Webpack. Non mi sento a mio agio nel codice "path/to/bower/module", è esattamente quello che sto cercando di non fare usando i plugin. – estus

+0

Webpack non può utilizzare la propria logica resolver durante la configurazione della logica del resolver. – matpie

+0

Non è possibile richiedere 'enhanced-resolve' e risolvere il percorso del modulo con i relativi plugin? Ho il sospetto che io possa – estus

Problemi correlati