1

je configuration du dossier suivant:On dirait que webpack ne tient pas compte 'comprennent' et les règles 'exclude'

app/ 
    scss/ 
    lib/ 
     grid.css 
    main.scss 
webpack/ 
    webpack.config.js 

dans mes webpack.config.js Je suit chargeurs pour traiter SCSS et css:

{ 
    test: /\.(css|scss)$/, 
    exclude: path.join(__dirname, '..', 'app/scss/lib/'), 
    loader: ExtractTextPlugin.extract(
     'style-loader', 'css-loader?module!resolve-url!postcss-loader!sass-loader?sourceMap' 
    ) 
    }, 
    { 
    test: /\.(css|scss)$/, 
    include: path.join(__dirname, '..', 'app/scss/lib/'), 
    loader: ExtractTextPlugin.extract('style-loader', 'css-loader') 
    } 

idée ici est que css-chargeur utilise des modules réécriture essentiellement un nom de classe comme .red à cependant, quelque chose au hasard comme .JHSKJasdasa Je veux exclure un /lib dossier d laisser des classes qui sont dans le même comme ils sont (vanilla), mais toujours, les classes à l'intérieur grid.css comme .container devenir aléatoire.

+0

Vous "excluez" et à nouveau "y compris" le dossier '/ lib'. La configuration ci-dessus est clairement fausse. Vous n'avez rien à exclure. N'incluez que les choses que vous voulez «webpacked». – Venky

+0

@Venky Je l'inclut de nouveau mais avec des chargeurs différents. Comment recommanderiez-vous la restructuration? – Ilja

+0

J'utiliserais quelque chose comme le dossier 'dist/assets/......' pour stocker les fichiers 'webpacked' et' distributed'. Tous les autres fichiers non distribuables dans un dossier différent 'src/assets .....' – Venky

Répondre

1

La réponse probable est que webpack devient confus par le path.join - documentation spécifie path.resolve. Je pense qu'il pourrait faire une comparaison de chaîne droite des chemins, donc le relatif .. le brise, donc l'exclusion/inclusion ne fonctionne pas correctement. path.resolve doit résoudre le chemin absolu.

Si cela ne fonctionne pas, essayez d'ajouter un dossier app/scss/src (ou similaire) pour séparer le code sur lequel vous voulez utiliser css-loader. Puis include plutôt que exclude ing lib.