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 并确保他们上面没有任何号码。
本期接受的答案超过:
- 确实 class 名称存在问题。在 purifycss 没有变化的情况下,它们应该匹配
/[a-z]+/
- 构建可能适用于
run dev
,但在 run prod
时失败,因为第 3 方存储库(第 2 级依赖项)中的问题在您净化缩小的 css 文件,例如 bootstrap 4。您可以在 PR, and track the issue. 中找到详细说明
现在您可以使用 npm install git://github.com/alex7r/css.git#master
(是的,我更喜欢 npm)
我希望使用 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 并确保他们上面没有任何号码。
本期接受的答案超过:
- 确实 class 名称存在问题。在 purifycss 没有变化的情况下,它们应该匹配
/[a-z]+/
- 构建可能适用于
run dev
,但在run prod
时失败,因为第 3 方存储库(第 2 级依赖项)中的问题在您净化缩小的 css 文件,例如 bootstrap 4。您可以在 PR, and track the issue. 中找到详细说明
现在您可以使用 npm install git://github.com/alex7r/css.git#master
(是的,我更喜欢 npm)