ΠΠ°Ρ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?
ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² ΡΡΠΈΠ»Π΅ PostCSS ΡΠ°ΠΉΠ» Π½Π΅ Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΏΠΈΡΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° CSS, Svelte ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠ»Π°Π³ΠΈΠ½ PostCSS Language Support ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Svelte ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» ΡΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΏΠΈΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ
Π― ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π» ΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡ scss
Π½ΠΎ ΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Sass.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
ΠΠΎΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Svelte ΠΆΠ°Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΎΠ»Π½ΠΈΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΏΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ &:hover
.
.
Π£ΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ Π²Π°ΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. Π ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΎΠ½ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² css. ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ css Π² Π²Π°ΡΠ΅ΠΌ svelte-ΡΠ°ΠΉΠ»Π΅.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ - ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π΄Π΅ΡΡ
ΠΡΠΎΡΠΎΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π½Π°ΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΠ»ΡΠΆΠ±Π° vscode CSS. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ²
svelte.plugin.css.diagnostics: false
ΠΡ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ postcss. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ postcss, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ svelte ΡΠ°ΠΉΠ»Π° ΠΊΠ°ΠΊ HTML.
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π΅ΡΡ ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ svelte-ΡΠ°ΠΉΠ»Π°, Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ lang = postcss Π΄Π»Ρ ΡΡΠΈΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π²Π½Π΅Π΄ΡΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π² css.
ΠΡΠΈΠ²Π΅Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π― ΡΠΎΡΠ»Π°Π»ΡΡ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PostCSS Language, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄ΡΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠΈΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΊ PostCSS? Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Π°ΠΆΠ΅Π½ ΡΠ°ΠΉΠ» svelete.config.js
. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ sapper, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ», ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π½Π΅ΠΌ ΡΠ²ΠΎΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² rollup.config.js
ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Svelte Language ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ PostCSS?
Π― ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ. Π― Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ PostCSS, Π½ΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΌΠ½Π΅ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ, Π½Π΅ ΠΎΡΠΊΠ»ΡΡΠ°Ρ Π²ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ CSS. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠΌΠΎΡΡ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ°, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ postcss.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ. svelte.config.js
ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π·Π½Π°Π» ΠΎΠ± ΡΡΠΎΠΌ.
ΠΡΠΈΠ²Π΅Ρ @ jasonlyu123 Π― ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΠ΅Π» ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π» ΡΠ°ΠΉΠ» svelte.config.js
ΠΈ ΠΎΠ½ Π½Π΅ Π΄Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΠΈΠΌ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π·Π½Π°Π»ΠΈ. ΠΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΈΡΠ΅Ρ ΡΡΡΠΎΠΉΠ½ΡΠΉ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°; Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
ΠΡΠΎ ΠΌΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠ°:
const sveltePreprocess = require('svelte-preprocess');
const phtmlUtilityClass = require('phtml-utility-class');
const preprocess = sveltePreprocess({
postcss: true,
pug({ content, filename }) {
const code = pug.render(content)
return { code, map: null }
}
});
const myPreprocessor = {
markup({ content, filename }) {
content = content.replace(/(\<[^>]*=)(\{[^{}]*\})([^<]*\>)/gmi, (match, p1, p2, p3) => {
return `${p1}"${p2}"${p3}`
})
return phtmlUtilityClass.process(content, { from: filename }).then(result => {
return { code: result.html, map: null }
});
}
}
module.exports = {
preprocess: [
preprocess,
myPreprocessor
],
};
ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ # 279
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠΎ. Π― ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ», Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ², ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ ΡΠ΅Π±Π΅ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ, ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ»ΠΎ Π½Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
const sveltePreprocess = require('svelte-preprocess');
const phtmlUtilityClass = require('phtml-utility-class');
const preprocess = sveltePreprocess({
postcss: true,
pug({ content, filename }) {
const code = pug.render(content)
return { code, map: null }
}
});
module.exports = {
preprocess
};
@limitlessloop ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠΊΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄Π° vscode, Π²ΡΠ±ΡΠ°Π² svelte, ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ?
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ postcss? Π― Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π» postcss Π²ΡΡΡΠ½ΡΡ.
ΠΡΠΈΠ²Π΅Ρ @ jasonlyu123. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°Ρ ΠΎΡΠ²Π΅Ρ.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Initialize language server at /Users/limitlessloop/Sites/stancy/website
Trying to load config for /Users/limitlessloop/Sites/stancy/website/src/components/Button.svelte
Found config at /Users/limitlessloop/Sites/stancy/website/svelte.config.js
Initialize new ts service at
SnapshotManager File Statistics:
Project files: 0
Svelte files: 0
From node_modules: 0
Total: 0
Using Svelte v3.23.2 from /Users/limitlessloop/Sites/stancy/website/node_modules/svelte/compiler
Using Svelte v3.23.2 from /Users/limitlessloop/Sites/stancy/website/node_modules/svelte/compiler
Π Π½ΠΈΠΆΠ΅ ΠΌΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ PostCSS
module.exports = {
plugins: {
'postcss-import': {},
'postcss-logical': {},
'postcss-preset-env': {
autoprefixer: {
flexbox: 'no-2009',
},
stage: 3,
features: {
'nesting-rules': true,
'custom-properties': false,
}
},
}
};
Π ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
Π§ΡΠΎ Π·Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅? Π― ΡΠ»Π΅ΠΆΡ Π·Π° Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° svelte ΠΈΡΡΠ΅Π·Π»Π°, ΠΎΡΡΠ°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΊΠ° vscod-css-language-service.
Π₯ΠΌ. π€
ΠΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ.
} Expected
at-rule or selector expected
ΠΠ³Π°. ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ vscode-css-language-service
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΡΡΠΈΠ»Ρ Π°ΡΡΠΈΠ±ΡΡ lang="postcss"
ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ css Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² svelte.plugin.css.diagnostics: false
.
ΠΠΎΠ½ΡΡΠ½ΠΎ, Ρ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ ΠΏΠΎΠ΄ Β«ΡΡΡΠΎΠΉΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉΒ».
ΠΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄Π°? Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ, Π½ΠΎ ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΌΡΡΠ» Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΉΠ» svelte.config.js
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ?
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ lang="postcss"
ΠΊ ΡΠ΅Π³Ρ ΡΡΠΈΠ»Ρ ΡΠ΅ΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΠ°Π½Π΅Π΅ Π²Ρ Π½Π΅ ΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ lang. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, PostCSS Π½Π΅ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π² ΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌ ΡΠ·ΡΠΊ, Π° ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ CSS, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π°ΡΡΠΈΠ±ΡΡ lang Π½Π΅ Π½ΡΠΆΠ΅Π½.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ), ΡΠΎΠ³Π΄Π°, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΡΠΌΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ PostCSS ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PostCSS Language Support ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ Svelte.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ svelte ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» css. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΎΠ½ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ°ΡΡΠ΅ΡΠ°. ΠΠΎΡ ΡΡΠΎ Ρ ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρ, Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΡΡΡΠΎΠΉΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅.
Svelte.config.js ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ.
https://github.com/sveltejs/language-tools/blob/17bfd6e27fd8a6cbc6f417eb184bc7d0b1dac727/packages/language-server/src/plugins/svelte/SvelteDocument.ts#L79
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ svelte.config.js
Π½Π΅ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠΈΠ±ΠΊΠ° vscode-css-language-service, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π», Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π·Π΄Π΅ΡΡ
https://github.com/sveltejs/language-tools/blob/17bfd6e27fd8a6cbc6f417eb184bc7d0b1dac727/packages/language-server/src/plugins/css/CSSPlugin.ts#L72
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° CSS. ΠΠΎ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π²Π°ΠΌΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ°ΡΡΠ΅ΡΠ°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅. ΠΡ ΠΏΡΠΎΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠΈΠΏ ΡΡΠΈΠ»Ρ postcss
. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ. ΠΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² css, Π° Π½Π΅ Π² postcss. ΠΡΠ°ΠΊ, ΠΏΠΎΠΊΠ° Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ³ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ.
ΠΠΎ ΠΊΠ°ΠΊ ΡΡ ΡΠΊΠ°Π·Π°Π». ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ postcss - ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ lang. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ CSS Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @ jasonlyu123.
ΠΠΎ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π²Π°ΠΌΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ°ΡΡΠ΅ΡΠ°.
ΠΠΎΠ΄ ΡΡΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»Ρ PostCSS ? ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΡΡΠΎΠΈΡ Π»ΠΈ ΠΌΠ½Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ Π°Π²ΡΠΎΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠ³ΠΎ? ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Svelte Language Tools ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° CSS, ΡΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π»ΠΎ Π±Ρ ΡΠΌΡΡΠ», ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ PostCSS Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ?
Π½Π΅Ρ, ΡΡΠΎ vscode-css-language-service. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΡΠ΅Ρ ΠΈ Π°Π½Π°Π»ΠΈΠ·. Π Ρ Π½ΠΈΡ Π½Π΅Ρ ΠΏΠ»Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ css next.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π·Π° Π²Π°ΡΠ΅ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅.
ΠΠΎΠΆΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stylelint?
ΠΡ, Ρ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» "svelte.plugin.css.diagnostics.enable": false
ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π½ΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠΎΠΉ svelte.config.js Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
const SveltePreprocess = require('svelte-preprocess');
module.exports = {
preprocess: SveltePreprocess({
"defaults": {
"script": "typescript",
"style": "postcss" // Tried pcss too
},
"postcss": true
}),
};
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ VSCode Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ·ΡΠΊΠ° PostCSS.
ΠΠΎΠ³Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ lang = "scss" ΠΈΠ»ΠΈ lang = "less" (ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ), Π·Π½Π°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΡΡΠ΅Π·Π°Π».
ΠΠΎ Ρ lang = "pcss" ou lang = "postcss" (Π΄Π°ΠΆΠ΅ Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΎΠΉ) Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ...
Π’Π°ΠΊΠΆΠ΅ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π° Svelte Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»:
PostCSS configuration was not passed. If you expect to load it from a file, make sure to install "postcss-load-config" and try again Κβ’α΄₯β’Κ
(Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ "postcss-load-config": "^2.1.0"
@jaikme, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ postcss? ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, postcss ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΈ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²Π°ΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π°ΡΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΠ½Π° Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΏΠΎΡΡΠΎΠΌ.
@ jasonlyu123 Π₯ΠΎΡΠΎΡΠΎ.
ΠΠΎΡ ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³.
ΠΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ - Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ VSCode. Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ PostCSS. Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π·Π°ΠΊΡΡΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ΡΡΠ½ΠΎ, Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΡ ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅ΡΠ΅ Π»ΡΡΡΠ΅, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ PR Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ css, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ CSS ΠΈΠ»ΠΈ TailwindCSS, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΡΠ°Π½Π΅Ρ Π±ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ VSCode, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Svelte.