From f3fe848f0b9c9f946c83c42dc0d9f92799a16cea Mon Sep 17 00:00:00 2001 From: He Yeshuang Date: Mon, 30 Mar 2020 23:42:37 +0800 Subject: add purgecss(but didnt test) --- package-lock.json | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + postcss.config.js | 21 ++++++++++++++++- src/sass/style.scss | 2 ++ 4 files changed, 89 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index bffda00..a80b43b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1078,6 +1078,35 @@ } } }, + "@fullhuman/postcss-purgecss": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/@fullhuman/postcss-purgecss/download/@fullhuman/postcss-purgecss-2.1.0.tgz", + "integrity": "sha1-lV/C4/abDQyENn7u5PhcASOKZdw=", + "dev": true, + "requires": { + "postcss": "7.0.27", + "purgecss": "^2.1.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.27.tgz?cache=0&sync_timestamp=1581994906320&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.27.tgz", + "integrity": "sha1-zGfNxrDao3UQW3xCSoVWc0X8VNk=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, "@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1584171913757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", @@ -7458,6 +7487,43 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "purgecss": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/purgecss/download/purgecss-2.1.0.tgz", + "integrity": "sha1-baZV0WYHOCTv4lMrDGRmx0DZOdY=", + "dev": true, + "requires": { + "commander": "^4.0.0", + "glob": "^7.0.0", + "postcss": "7.0.27", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1584148356834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz", + "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg=", + "dev": true + }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.27.tgz?cache=0&sync_timestamp=1581994906320&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.27.tgz", + "integrity": "sha1-zGfNxrDao3UQW3xCSoVWc0X8VNk=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, "q": { "version": "1.5.1", "resolved": "http://registry.npm.taobao.org/q/download/q-1.5.1.tgz", diff --git a/package.json b/package.json index 0ee4d00..87a023a 100755 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "devDependencies": { "@babel/core": "^7.9.0", "@babel/preset-env": "^7.9.0", + "@fullhuman/postcss-purgecss": "^2.1.0", "autoprefixer": "^9.7.5", "babel-loader": "^8.1.0", "css-loader": "^3.4.2", diff --git a/postcss.config.js b/postcss.config.js index a8dc3e9..60bcb4a 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,6 +1,25 @@ +const purgecss = require('@fullhuman/postcss-purgecss')({ + + // Specify the paths to all of the template files in your project + content: [ + './src/**/*.html', + './src/**/*.vue', + './src/**/*.js', + './layouts/*.html', + './layouts/**/*.html' + // etc. + ], + + // Include any special characters you're using in this regular expression + defaultExtractor: content => content.match(/[\w-/:]+(?