我正在使用 SASS 實(shí)現(xiàn)一個(gè)迷你 CSS 庫(kù),我想清除它,目前我正在使用 purgecss,我對(duì)此沒(méi)有任何問(wèn)題,但一個(gè)問(wèn)題是當(dāng)我從 CSS 庫(kù)向我的 html 添加一個(gè)類(lèi)時(shí),該特定類(lèi)不會(huì)包含在我的清除文件中,我需要重新清除我的 CSS 庫(kù) CSS 文件以包含該特定類(lèi),但我需要 purgecss 監(jiān)視我的 CSS 文件并在將其添加到我的項(xiàng)目時(shí)添加類(lèi),并且我不需要重新清除 CSS 文件,有什么想法嗎?
要?jiǎng)討B(tài)包含 CSS 庫(kù)中的類(lèi),而無(wú)需手動(dòng)重新清除 CSS 文件,您可以結(jié)合使用 PurgeCSS 和 PurgeCSS 的附加配置文件來(lái)監(jiān)視 CSS 文件并包含特定的類(lèi)。
設(shè)置方法如下:
purgecss.config.js
。該文件將指定要清除的文件以及任何其他配置選項(xiàng)。// purgecss.config.js module.exports = { content: ['index.html'], // Specify your HTML files here css: ['path/to/your/css/library.css'], // Path to your CSS library file defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || [], // Default extractor, modify if needed safelist: ['class-to-include'], // Add classes that should always be included here };
// webpack.config.js const PurgecssPlugin = require('purgecss-webpack-plugin'); const glob = require('glob'); const path = require('path'); module.exports = { // ... other webpack configuration options plugins: [ new PurgecssPlugin({ paths: () => glob.sync(path.resolve(__dirname, 'index.html')), // Specify your HTML files here safelist: { deep: [/^class-to-include$/] }, // Add classes that should always be included here }), ], };
確保調(diào)整上面代碼片段中的路徑和文件名以匹配您的項(xiàng)目結(jié)構(gòu)。此外,如果您使用不同的構(gòu)建系統(tǒng)或工具,則可能需要相應(yīng)地調(diào)整配置。
通過(guò)此設(shè)置,每次將 CSS 庫(kù)中的類(lèi)添加到項(xiàng)目時(shí),您無(wú)需手動(dòng)重新清除 CSS 文件。相反,PurgeCSS 將監(jiān)視更改并在構(gòu)建過(guò)程中動(dòng)態(tài)包含這些類(lèi)。