npm i rollup-plugin-windicss -D # yarn add rollup-plugin-windicss -D
import WindiCSS from 'rollup-plugin-windicss'
export default {
plugins: [
...WindiCSS(),
],
}
// your code entry
import 'virtual:windi.css'
Это все.
Предполетная проверка включается по требованию, если вы хотите полностью отключить ее, вы можете настроить ее, как показано ниже
export default {
plugins: [
WindiCSS({
preflight: false,
}),
],
}
По умолчанию мы сканируем ваш исходный код статически и находим все случаи использования утилит, а затем сгенерировали соответствующий CSS по запросу. Однако существует некоторое ограничение, заключающееся в том, что утилиты, которые решили во время выполнения, не могут быть эффективно сопоставлены, например:
<!-- will not be detected -->
<div className={`p-${size}`}>
Для этого вам нужно будет указать возможные комбинации в опциях safelist
файла vite.config.js
.
export default {
plugins: [
WindiCSS({
safelist: 'p-1 p-2 p-3 p-4',
}),
],
}
Или вы можете сделать это так
function range(size, startAt = 1) {
return Array.from(Array(size).keys()).map(i => i + startAt)
}
// rollup.config.js
export default {
plugins: [
WindiCSS({
safelist: [
range(30).map(i => `p-${i}`), // p-1 to p-3
range(10).map(i => `mt-${i}`), // mt-1 to mt-10
],
}),
],
}
При запуске сервера vite-plugin-windicss
просканирует ваш исходный код и извлечет использованные утилиты. По умолчанию будут включены только файлы из каталога src/
с расширениями vue, html, mdx, pug, jsx, tsx
. Если вы хотите включить сканирование для других типов файлов, вы можете настроить его с помощью:
export default {
plugins: [
WindiCSS({
scan: {
dirs: ['.'], // all files in the cwd
fileExtensions: ['vue', 'js', 'ts'], // also enabled scanning for js/ts
},
}),
],
}
Смотрите options.ts для получения дополнительных сведений о конфигурации.