Tôi đang cố gắng thiết lập webpack để có một biên dịch vượt qua nơi nó quét tất cả các tệp css trong một cây tệp và sau đó tạo ra một tệp css với tất cả các kiểu đi kèm, tự động sửa và thu nhỏ.ExtractTextPlugin và postCSS - autoprefixer không hoạt động
Tôi không thể tải plugin autoprefixer để hoạt động.
Đây là liên quan phần webpack config:
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')
]
}
];
Khi tôi chạy webpack, tôi nhận được tất cả các file nén trong bundle.js và đúng chiết xuất trong một tệp riêng styles.css
. Nhưng tiền tố của nhà cung cấp không được áp dụng.
Tôi đang sử dụng lớp này để kiểm tra các tiền tố:
.autoprefixer-test {
display: flex;
transition: all .5s;
background: linear-gradient(to bottom, white, black);
user-select: none;
}
Tôi đã cố gắng để thay đổi cuộc gọi đến ExtractTextPlugin.extract như ExtractTextPlugin.extract('style-loader', ['css-loader', 'postcss-loader'])
như đã thấy trong bài viết khác, nhưng nó không giúp gì cả .
Bất kỳ ý tưởng nào?
Thiên Chúa, tôi không thể tin rằng đó là một cái gì đó đơn giản như tùy chọn postcss không được thiết lập ở mức đúng .. cảm ơn bạn đời. Ngoài ra cảm ơn cho những suy nghĩ khác, không nhập bất kỳ css nào, nhưng chắc chắn sẽ có ích tại một số điểm. –
Cảm ơn bạn rất nhiều vì đã giải thích tất cả điều đó. – jrobson153