Ich versuche, Webpack einzurichten, um einen Kompilierungslauf zu haben, wo es alle CSS-Dateien in einer Dateistruktur scannt und dann eine CSS-Dateien mit allen Stilen gebündelt, autoprefixed und minimiert generiert.ExtractTextPlugin und postCSS - Autoprefixer funktioniert nicht
Ich kann Autoprefixer Plugin nicht funktionieren.
Hier ist der relevante webpack Config-Teil:
const webpack = require('webpack')
const path = require('path')
const glob = require('glob')
const ExtractTextPlugin = require('extract-text-webpack-plugin');
// postCSS plugins
const autoprefixer = require('autoprefixer')
module.exports = [
{
// another compilation pass
},
{
name: 'static-css',
entry: {
vendor: glob.sync(path.join(__dirname, 'assets/stylesheets/vendor/**/*.css')),
styles: glob.sync(path.join(__dirname, 'assets/stylesheets/src/**/*.css'))
},
devtool: 'source-map',
output: {
path: path.join(__dirname, 'assets/stylesheets/build/'),
filename: 'bundle.js',
},
module: {
loaders: [
// css loader for custom css
{
test: /\.css$/,
include: path.join(__dirname, 'assets/stylesheets/src'),
loader: ExtractTextPlugin.extract('style-loader', 'css-loader!postcss-loader')
},
// css loader for vendor css
{
test: /\.css$/,
include: path.join(__dirname, 'assets/stylesheets/vendor'),
loader: 'style-loader!css-loader'
},
// other loaders for images, fonts, and svgs
{
test: /\.png$/,
loader: 'url-loader?limit=100000'
},
{
test: /\.jpg$/,
loader: 'file-loader'
},
{
test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/,
loader: 'url?limit=10000&mimetype=application/font-woff'
},
{
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: 'url?limit=10000&mimetype=application/octet-stream'
},
{
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: 'file'
},
{
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: 'url?limit=10000&mimetype=image/svg+xml'
}
],
postcss: function() {
return [
autoprefixer
]
}
},
plugins: [
// extract css in a .css file
new ExtractTextPlugin('[name].css')
]
}
];
Als ich webpack laufen, bekomme ich alle komprimierten Dateien in den bundle.js und korrekt in einer separaten styles.css
Datei extrahiert. Die Anbieterpräfixe werden jedoch nicht angewendet.
Ich verwende diese Klasse die Präfixe zu testen:
.autoprefixer-test {
display: flex;
transition: all .5s;
background: linear-gradient(to bottom, white, black);
user-select: none;
}
Ich habe versucht, den Anruf zu ändern wie ExtractTextPlugin.extract('style-loader', ['css-loader', 'postcss-loader'])
ExtractTextPlugin.extract wie in anderen Beiträgen gesehen, aber es hilft nicht bei allen .
Irgendwelche Ideen?
Gott, ich kann es etwas so Einfaches wie die postcss Option war nicht glauben, kann nicht auf der richtigen Ebene gesetzt werden .. Danke, Kumpel. Auch danke für die anderen Gedanken, noch kein CSS zu importieren, aber das wird definitiv irgendwann nützlich sein. –
Vielen Dank für das alles erklären. – jrobson153