Per una build prod voglio che la mia configurazione del webpack abbia due punti di ingresso, uno per JS e uno per SCSS, e voglio che vengano emessi in due distinti file (un JS, un CSS).Estratto del testo per l'estensione del pacchetto di file .js e file .css per la voce stili
Tuttavia extract-text-webpack-plugin sta creando due file JS e un file CSS; vale a dire il punto di ingresso per SCSS sta producendo sia il file CSS desiderato più un file JS che non voglio. Questo file JS inutilizzato non contiene nient'altro che il boilerplate di webpack e // removed by extract-text-webpack-plugin
. Quindi sta facendo bene il suo lavoro, ma sta ancora creando questo file non necessario. Il mio webpack config (mostrando le parti pertinenti):
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
entry: {
app: './client/src/app.js',
style: './client/src/app.scss'
},
output: {
path: __dirname + '/server/assets/',
publicPath: '/',
filename: 'bundle.[chunkhash].js',
},
module: {
loaders: [{
test: /\.js/,
exclude: /node_modules/,
include: /src/,
loader: 'babel-loader'
},{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style', 'css', 'sass'),
},{
test: /.*\.(woff|woff2|eot|ttf)$/i,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
},{
test: /.*\.(png|svg|jpg)$/i,
loaders: [
'file?hash=sha512&digest=hex&name=[hash].[ext]',
'image-webpack?{progressive:true, optimizationLevel: 7, interlaced: false, pngquant:{quality: "65-90", speed: 4}}'
]
}]
},
plugins: [
new ExtractTextPlugin('bundle.[chunkhash].css', {
allChunks: true
})
]
};
Quindi, in sostanza l'uscita è la creazione di due file .js, uno per ogni voce e poi il plugin estratto sta creando il file css desiderato vero e proprio. Come posso evitare che l'output crei quel file non necessario?
Io preferisco il metodo di sopra usando 'richiede ("app.scss") 'all'interno di JS. È molto più pulito avere '.scss' visibile nel file' webpack.config'. – Marquizzo
stesso, mi piace molto questo metodo – Jonesopolis