laravel-mix purifyCss 选项无效

laravel-mix purifyCss option not working

我希望使用 laravel-mix 的 purifyCss。该功能在全新安装上运行良好,但当我尝试从旧版本 laravel-mix 升级时,没有任何反应,也没有显示任何错误。

这是当前的 package.json 文件

{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
  "devDependencies": {
    "cross-env": "^5.1",
    "laravel-mix": "^2.0",
    "popper.js": "^1.13.0",
    "purify-css": "^1.2.6",
    "purifycss-webpack": "^0.7.0"
  },
  "dependencies": {
    "bootstrap": "^4.0.0",
    "font-awesome": "^4.7.0",
    "jquery": "^3.3.1",
    "normalize.css": "^8.0.0",
    "velocity-animate": "^2.0.1"
  }
}

这是我的webpack.mix.js

let mix = require('laravel-mix');

mix.options({
    purifyCss: true
});

//default path
mix.setPublicPath('website');

//index
mix.sass('resources/assets/sass/index/index-desktop.scss', 'css/index/index-desktop.min.css');

这是一个测试 blade 文件

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ session('user.language_code') }}">
<head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css?family=Caudex" rel="stylesheet">
    <link rel="stylesheet" href="{{ asset('css/index/index-desktop.min.css') }}">

</head>
<body>

</body>
</html>

我也在使用 yarn,当我尝试 yarn run production 时,css 永远不会被删除。

问题已解决。

对于遇到同样问题的任何人,请检查您的 class/id 并确保他们上面没有任何号码。

本期接受的答案超过:

  1. 确实 class 名称存在问题。在 purifycss 没有变化的情况下,它们应该匹配 /[a-z]+/
  2. 构建可能适用于 run dev,但在 run prod 时失败,因为第 3 方存储库(第 2 级依赖项)中的问题在您净化缩小的 css 文件,例如 bootstrap 4。您可以在 PR, and track the issue.
  3. 中找到详细说明

现在您可以使用 npm install git://github.com/alex7r/css.git#master(是的,我更喜欢 npm)