2017-10-08 2 views
0

En un mot, j'essaye de sortir mes capitaux de css en utilisant le extract-text-webpack-plugin. Je m'attendrais à ce que le chargeur bootstrap crache un bootstrap.css mais ce n'est pas le cas. Je pense que je pourrais devoir ajouter un include 'webpack-loader/path/to/css' dans mon app.js, mais quelque chose à ce sujet semble chintzy et dans le but de webpack.webpack bootstrap-loader va lancer bootstrap.js mais pas le fichier bootstrap.css?

Ci-dessous est le plus minimal webpack.config.js que je peux créer qui représente le problème. La configuration suppose que les webpack.bootstrap.config.js et .bootstraprc fichiers sont situés dans le même répertoire que les webpack.config.js

const path = require("path"); 

const ExtractTextPlugin = require('extract-text-webpack-plugin'); 

const bootstrapEntryPoints = require('./webpack.bootstrap.config'); 

const extractCssPlugin = new ExtractTextPlugin({ 
    filename : '[name].css' 
}); 

module.exports = { 
    entry : { 
     app : "./src/js/app.js", 
     bootstrap : bootstrapEntryPoints.dev 
    }, 
    output : { 
     path : path.resolve(__dirname, 'dist'), 
     filename : "[name].bundle.js" 
    }, 
    module : { 
     rules : [ 
      { test: /\.css$/, use : extractCssPlugin.extract({use : [{loader: "css-loader"}]})}, 
      { test: /\.(woff2?|svg)$/, loader: 'url-loader?limit=10000' }, 
      { test: /\.(ttf|eot)$/, loader: 'file-loader' }, 
     ] 
    }, 
    devServer : { 
     contentBase : path.join(__dirname, "dist"), 
     hot : true, 
    }, 
    plugins : [ 
     extractCssPlugin, 
    ], 
}; 

NOTES:

  • bootstrapEntryPoints.dev décide de 'bootstrap-loader'. Ce qui signifie que mon point d'entrée bootstrap ressemble entry : {..., bootstrap : 'bootstrap-loader'}

Répondre

0

Solution - Je mets la variable extractStyles dans le .bootstraprc à true. Je peux maintenant dormir avec la paix.