Можно ли заставить плагин PurifyCss ждать, пока пакет не будет готов?
Мой первый проект "Hello Webpack" работал великолепно, пока я не начал интегрировать в систему purycss-webpack. Если я удаляю папку /dist вручную, а затем собираю, этот конфиг работает. Но если папка /dist существует и CleanWebpackPlugin удаляет ее так, как это было задумано, то PurifyCSS выдает эту ошибку:
clean-webpack-plugin: \ dist был удален.
cleanycss-webpack\dist\index.js:52 \ if (!_fs2.default.existsSync(p)) выдает новую ошибку ('Path ' + p + 'не существует.');
Есть ли другой способ заставить Webpack запускать PurifyCSS только ПОСЛЕ того, как все остальные плагины были выполнены? Я думал, что делал это, помещая его последним в массив плагинов, но для меня это похоже на проблемы с порядком выполнения. Вот мой конфиг:
const CleanWebpackPlugin = require('clean-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const globAll = require('glob-all');
const HtmlWebpackPlugin = require("html-webpack-plugin");
const path = require("path");
const PurifyCSSPlugin = require('purifycss-webpack');
const webpack = require("webpack");
var extractPluginCSS = new ExtractTextPlugin({
filename: "app.css"
});
module.exports = {
entry: "./src/js/app.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "app.js"
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: [
{
loader: "babel-loader",
options: {
presets: ["env"]
}
}
]
},
{
test: /app\.scss$/,
use: extractPluginCSS.extract({
use: [
{
loader: "css-loader",
options: {}
},
{
loader: "sass-loader",
options: {}
}
]
})
},
{
test: /\.html$/,
use: ["html-loader"]
},
{
test: /\.(jpg|png)$/,
use: [
{
loader: "file-loader",
options: {
name: "[name].[ext]",
outputPath: "img/"
}
}
]
}
]
},
plugins: [
new CleanWebpackPlugin(['dist']),
new HtmlWebpackPlugin({
template: "./src/html/index.html"
}),
new webpack.optimize.UglifyJsPlugin(),
extractPluginCSS,
new PurifyCSSPlugin({
// Give paths to parse for rules. These should be absolute!
paths: globAll.sync([
path.join(__dirname, '/dist/*.html')
]),
// minimize: true,
verbose: true
})
]
};