Language-tools: scste (css-syntax-error) рдЬрдм postcss-preset-env рдХрд╕реНрдЯрдо рдореАрдбрд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рд╕рд┐рддре░ 2020  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sveltejs/language-tools

рдкреНрд░рдЬрдирди рдХрд░рдирд╛
рдЖрдк https://github.com/shamsartem/dbudget рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд░реЗрдкреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП default.svelte рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ:

  1. Rollup.config.js рдФрд░ {stage: 0} рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде postcss.config.js рдореЗрдВ рдкреЛрд╕реНрдЯ-рдкреНрд░реАрд╕реЗрдЯ-рдПрдирд╡реА рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝реЗрдВ
  2. рдЙрджрд╛ред @ рдХрд╕реНрдЯрдо-рдореАрдбрд┐рдпрд╛ --t (рдЪреМрдбрд╝рд╛рдИ> = 768px) рдЬреЛрдбрд╝реЗрдВ; рд▓рдВрдЧ рдХреЗ рд╕рд╛рде App.svelte рд╢реИрд▓реА рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ = "postcss"
  3. App.svelte рдореЗрдВ @media (--t) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИ
  4. рдХреБрдЫ рдЕрдиреНрдп рдШрдЯрдХ рдореЗрдВ @media (--t) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рдпрд╣ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рд╕рд┐рд╕реНрдЯрдо (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реА рдХрд░реЗрдВ):

  • рдУрдПрд╕: рдордВрдЬрд╝рд░реЛ
  • рдЖрдИрдбреАрдИ: VSCode
  • рдкреНрд▓рдЧрдЗрди / рдкреИрдХреЗрдЬ: "VSCode рдХреЗ рд▓рд┐рдП Svelte"

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ (рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдирд╣реАрдВ рдЬрд╛рдКрдБрдЧрд╛ рдХрд┐ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрд▓)

// svelte.config.js
const sveltePreprocess = require('svelte-preprocess')
const fs = require('fs')
const mediaQueries = fs
  .readFileSync('./src/assets/css/media-queries.css')
  .toString()

module.exports = {
  preprocess: sveltePreprocess({
    postcss: {
      prependData: mediaQueries,
    },
  }),
}

рдмрд┐рд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ app.svelte рдореЗрдВ рдХрд╕реНрдЯрдо-рдореАрдбрд┐рдпрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдЖрдИрдбреАрдИ рдореЗрдВ рдореБрдарднреЗрдбрд╝ рдХрд░рддреЗ рд╣реИрдВред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ, рдпрд╛ рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛ рд╕рдХреЗрдВ, рддреЛ рдЖрдк рдореАрдбрд┐рдпрд╛-рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

# 305 рдХрд╛ рдбреБрдкреНрд▓реАрдХреЗрдЯ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдЧрд▓реЗ рдкреЛрд╕реНрдЯрд╕реН рдпрд╛ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╕реЗрдЯрдЕрдк рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП: Svelte рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрдВрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдШрдЯрдХ рдХреЗ рдЕрдВрджрд░ рдЙрд╕ --t рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдХреЗ рд▓рд┐рдП I ll рдЙрди рдХрд╕реНрдЯрдо рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдЕрдм рдПрдХ рд╣реИред рдпрд╣ рднреА рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдХрд▓реНрдкрдирд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рддрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж

рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдореАрдбрд┐рдпрд╛-рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдХрд╕реНрдЯрдо-рдореАрдбрд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред svelte-config.js рдХреЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рд╕реЗ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рд╕рдЯреАрдХ рдХреЛрдб рдХреЛ рдЖрдЬрд╝рдорд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЖрдкрдиреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдирдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
"postcssPresetEnv рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ"ред рднрд▓реЗ рд╣реА рдореИрдВ рд╣рдЯрд╛ рджреВрдВ
рдПрдХ рдЧрд▓рддреАред рдлрд┐рд░ рднреА рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╢реБрдХреНрд░ рдкрд░, 4 рд╕рд┐рддрдВрдмрд░ 2020 рдХреЛ 09:37 рдкрд░, рд▓рд┐рдпреВ, рд╡реА-рджрд╛ рд╕реВрдЪрдирд╛рдПрдБ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╕рдорд╕реНрдпрд╛ svelte.config.js рдореЗрдВ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣реИред
рдЖрдкрдХреЗ рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рддреАрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓реЛрдб рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдСрдЯреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
svelte.config.js рдкрд░ preprocessing рддрд╛рдХрд┐ IDE рдХреА рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рди рд╣реЛ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рд╢реИрд▓реА рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИред

рдореИрдВрдиреЗ svelte.config.js рдореЗрдВ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

const sveltePreprocess = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('svelte-preprocess') const postcssImport = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('postcss-import') const postcssPresetEnv = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('postcss-preset-env')ред defaultconstst
const postssPlugins = [
postcssImport (),
postcssPresetEnv ({рдЪрд░рдг: 0}),
postcssNested (),]
рдореЙрдбреНрдпреВрд▓ред рдирд┐рд░реНрдпрд╛рдд = {
рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕: sveltePreprocess ({
sourceMap: рд╕рдЪ рд╣реИ,
рдбрд╛рдХ
рдкреНрд▓рдЧрдЗрдиреНрд╕:
},
}}}

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдереНрд░реЗрдб рдЕрдзрд┐рдХреГрдд рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/sveltejs/language-tools/issues/517#issuecomment-686945578 ,
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AC6ONEK5L3PDUXKDVGIWFMLSECDKVANCNFSM4QTPHU5Q
ред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ XD рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ (рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдирд╣реАрдВ рдЬрд╛рдКрдБрдЧрд╛ рдХрд┐ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрд▓)

// svelte.config.js
const sveltePreprocess = require('svelte-preprocess')
const fs = require('fs')
const mediaQueries = fs
  .readFileSync('./src/assets/css/media-queries.css')
  .toString()

module.exports = {
  preprocess: sveltePreprocess({
    postcss: {
      prependData: mediaQueries,
    },
  }),
}

рдмрд┐рд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ app.svelte рдореЗрдВ рдХрд╕реНрдЯрдо-рдореАрдбрд┐рдпрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдЖрдИрдбреАрдИ рдореЗрдВ рдореБрдарднреЗрдбрд╝ рдХрд░рддреЗ рд╣реИрдВред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ, рдпрд╛ рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛ рд╕рдХреЗрдВ, рддреЛ рдЖрдк рдореАрдбрд┐рдпрд╛-рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@ jasonlyu123 рдЖрдк рдмрд╕ рдХрдорд╛рд▓ рд╣реИрдВ! рдЖрдкрдиреЗ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛрдиреЛрдВ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ (рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрди рднреА рдорд╣рд╛рди рдирд╣реАрдВ рдереЗ)ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЕрдм рдореИрдВ рдЖрдирдВрдж рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рд╕рдм рдХреБрдЫ рдореЗрдВ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

koddr picture koddr  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Kingwl picture Kingwl  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shirakaba picture shirakaba  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MDoder97 picture MDoder97  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AlexGalays picture AlexGalays  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ