Language-tools: postcss-preset-env μ‚¬μš©μž μ •μ˜ λ―Έλ””μ–΄λ₯Ό μ‚¬μš©ν•  λ•Œ svelte (css-syntax-error)

에 λ§Œλ“  2020λ…„ 09μ›” 02일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: sveltejs/language-tools

μž¬ν˜„ν•˜λ €λ©΄
λ‚΄ repoλ₯Ό μ‚¬μš©ν•˜μ—¬ https://github.com/shamsartem/dbudget 을 μž¬ν˜„ ν•  수
default.svelteμ—μ„œ 였λ₯˜λ₯Ό ν™•μΈν•˜μ‹­μ‹œμ˜€.

λ˜λŠ” :

  1. {stage : 0} 섀정을 μ‚¬μš©ν•˜μ—¬ postcss-preset-env ν”ŒλŸ¬κ·ΈμΈμ„ rollup.config.js 및 postcss.config.js에 μΆ”κ°€ν•©λ‹ˆλ‹€.
  2. 예λ₯Ό λ“€μ–΄ @ custom-media --t (λ„ˆλΉ„> = 768px)λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. lang = "postcss"λ₯Ό μ‚¬μš©ν•˜λŠ” App.svelte λ‚΄λΆ€ μŠ€νƒ€μΌ νƒœκ·Έ
  3. App.svelteμ—μ„œ @media (-t)λ₯Ό μ‚¬μš©ν•΄λ³΄μ‹­μ‹œμ˜€. μž‘λ™ν•΄μ•Όν•˜λ©° 였λ₯˜κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  4. λ‹€λ₯Έ ꡬ성 μš”μ†Œμ—μ„œ @media (-t)λ₯Ό μ‚¬μš©ν•΄λ³΄μ‹­μ‹œμ˜€. 였λ₯˜κ°€ ν‘œμ‹œλ˜μ§€λ§Œ μ˜¬λ°”λ₯΄κ²Œ λΉŒλ“œλ˜κ³  μž‘λ™ν•©λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” 행동
이 경우 였λ₯˜κ°€ μ—†μ–΄μ•Όν•©λ‹ˆλ‹€.

μ‹œμŠ€ν…œ (λ‹€μŒ 정보λ₯Ό μž‘μ„±ν•˜μ‹­μ‹œμ˜€) :

  • 운영체제 : Manjaro
  • IDE : VSCode
  • ν”ŒλŸ¬κ·ΈμΈ / νŒ¨ν‚€μ§€ : "Svelte for VSCode"
question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€ (λ‹€μ‹œ λ„ˆλ¬΄ 빨리 결둠에 λ„λ‹¬ν•˜μ§€ μ•Šμ•˜ 으면 μ’‹κ² μŠ΅λ‹ˆλ‹€ lol)

// 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μ—μ„œ custom-mediaλ₯Ό μ„ μ–Έν–ˆκΈ° λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€. μ œκ±°ν•˜κ³  dev μ„œλ²„λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜λ©΄ IDEμ—μ„œ λ°œμƒν•˜λŠ” 것과 λ™μΌν•œ 였λ₯˜κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
λ―Έλ””μ–΄ 쿼리λ₯Ό μ‚¬μš©ν•˜κ³  싢을 λ•Œ κ°€μ Έ μ˜€κ±°λ‚˜ μ „μ—­ 적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  8 λŒ“κΈ€

# 305와 쀑볡

λ‹€μŒμ— postcss λ˜λŠ” css μœ νš¨μ„± 검사λ₯Ό 지원할 κ³„νšμ΄ μ—†μŠ΅λ‹ˆλ‹€. 그것은 λ„ˆλ¬΄ λ§Žμ€ μœ μ§€ 보수 μž‘μ—…μž…λ‹ˆλ‹€. μ„€μ • 지침은 이 λ¬Έμ„œ λ₯Ό μ°Έμ‘° ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŠΉμ • 경우 : Svelte νŒŒμΌμ€ νŒŒμΌλ³„λ‘œ 트랜슀 νŒŒμΌλ˜λ―€λ‘œ 여기에 μ •μ˜ν•˜μ§€ μ•ŠμœΌλ©΄ ꡬ성 μš”μ†Œ λ‚΄μ—μ„œ --t 에 λŒ€ν•΄ 아무것도 μ•Œμ§€ λͺ»ν•©λ‹ˆλ‹€. κ²°κ΅­ λͺ¨λ“  것이 ν•˜λ‚˜μ˜ 큰 CSS에 λ²ˆλ“€λ‘œ 제곡되기 λ•Œλ¬Έμ— λΉŒλ“œμ— μ ν•©ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

응닡 ν•΄ μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€. 이것에 λŒ€ν•œ λ‹Ήμ‹ μ˜ λ…Έλ ₯에 정말 κ°μ‚¬ν•©λ‹ˆλ‹€

이전에 λͺ‡ μ£Ό λ™μ•ˆ μ‚¬μš©μž 지정 λ―Έλ””μ–΄ 쿼리λ₯Ό μ‚¬μš©ν–ˆκ³  였λ₯˜κ°€ μ—†μ—ˆμ§€λ§Œ 일뢀 μ—…λ°μ΄νŠΈ (λ‚΄κ°€ μƒκ°ν•˜κΈ°μ—) 후에 이제 ν•˜λ‚˜κ°€ 있기 λ•Œλ¬Έμ— 이에 λŒ€ν•΄ κ²Œμ‹œν•˜κΈ°λ‘œ κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 이것은 λ―Έλž˜μ— CSS μ‚¬μ–‘μ˜ 일뢀가 될 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것이 적어도 κ·Έλ•Œ μˆ˜μ •λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. 감사

svelte-config.js 의 μ „μ²˜λ¦¬ κ³Όμ •μ—μ„œλ„ media-queries.css의 μ‚¬μš©μž μ •μ˜ λ―Έλ””μ–΄λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ν•΄μ•Όν•©λ‹ˆλ‹€.

κ²Œμ‹œ ν•œ μ •ν™•ν•œ μ½”λ“œλ₯Ό μ‹œλ„ν•˜λ©΄ μƒˆλ‘œμš΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
"postcssPresetEnvλŠ” ν•¨μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€." .defaultλ₯Ό μ œκ±°ν•΄λ„ μ—¬μ „νžˆ
였λ₯˜. 아직도 이것을 봐 μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€.

2020 λ…„ 9 μ›” 4 일 κΈˆμš”μΌ 09:37, Lyu, Wei-Da [email protected] 은 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

당신이 κ²ͺκ³ μžˆλŠ” λ¬Έμ œλŠ” svelte.config.js의 μ „ 처리기 μ„€μ •μž…λ‹ˆλ‹€.
λ‘€μ—… ꡬ성에 3 개의 ν”ŒλŸ¬κ·ΈμΈμ΄λ‘œλ“œλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μžλ™ 만 ν™œμ„±ν™”
svelte.config.jsμ—μ„œ 사전 μ²˜λ¦¬ν•˜μ—¬ IDE의 컴파일 ν”„λ‘œμ„ΈμŠ€κ°€ κ°€μ Έ μ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λ”°λΌμ„œ μ „μ²˜λ¦¬ 된 μŠ€νƒ€μΌλ‘œ 인해 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

svelte.config.jsμ—μ„œ 이것을 μ‹œλ„ν–ˆλŠ”λ° 였λ₯˜κ°€ μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€.

const sveltePreprocess = require ( 'svelte-preprocess') const postcssImport = require ( 'postcss-import') const postcssPresetEnv = require ( 'postcss-preset-env'). defaultconst postcssNested = require ( 'postcss-nested')
const postcssPlugins = [
postcssImport (),
postcssPresetEnv ({stage : 0}),
postcssNested (),]
module.exports = {
μ „μ²˜λ¦¬ : sveltePreprocess ({
sourceMap : true,
postcss : {
ν”ŒλŸ¬κ·ΈμΈ : postcssPlugins,
},
})}

β€”
μŠ€λ ˆλ“œλ₯Ό μž‘μ„±ν–ˆκΈ° λ•Œλ¬Έμ— μˆ˜μ‹  ν•œ κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/sveltejs/language-tools/issues/517#issuecomment-686945578 ,
λ˜λŠ” ꡬ독 μ·¨μ†Œ
https://github.com/notifications/unsubscribe-auth/AC6ONEK5L3PDUXKDVGIWFMLSECDKVANCNFSM4QTPHU5Q
.

XDκ°€ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점에 λŒ€ν•΄ μ£„μ†‘ν•©λ‹ˆλ‹€.

ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€ (λ‹€μ‹œ λ„ˆλ¬΄ 빨리 결둠에 λ„λ‹¬ν•˜μ§€ μ•Šμ•˜ 으면 μ’‹κ² μŠ΅λ‹ˆλ‹€ lol)

// 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μ—μ„œ custom-mediaλ₯Ό μ„ μ–Έν–ˆκΈ° λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€. μ œκ±°ν•˜κ³  dev μ„œλ²„λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜λ©΄ IDEμ—μ„œ λ°œμƒν•˜λŠ” 것과 λ™μΌν•œ 였λ₯˜κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
λ―Έλ””μ–΄ 쿼리λ₯Ό μ‚¬μš©ν•˜κ³  싢을 λ•Œ κ°€μ Έ μ˜€κ±°λ‚˜ μ „μ—­ 적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@ jasonlyu123 당신은 λŒ€λ‹¨ν•΄! 두 가지 문제λ₯Ό ν•œ λ²ˆμ— ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€ (두 κ³³μ—μ„œ λ―Έλ””μ–΄ 쿼리λ₯Ό μˆ˜ν–‰ν•˜λŠ” 것도 쒋지 μ•ŠμŒ). 정말 κ°μ‚¬ν•©λ‹ˆλ‹€. 이제 즐겁게 μž‘μ—… ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ ν•œλ²ˆ 감사 λ“œλ¦¬λ©° λͺ¨λ“  것에 ν–‰μš΄μ„ λΉ•λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰