Language-tools: рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд┐рдирд╛ Svelte рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ

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

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдЙрдк-рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЬрдЯрд┐рд▓ рдШрдЯрдХ рд╣реИрдВред рдЙрдк-рдШрдЯрдХ рдирд┐рдЬреА рд╣реИрдВ рдФрд░ рдПрдХ рдмрдбрд╝реЗ рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

form/
  input.svelte
  textarea.svelte
  index.svelte
  radio.svelte
  checkbox.svelte

рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ form/index.svelte рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп form/ рд╕реЗ form/index.svelte рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдкреНрд▓рдЧрдЗрди .svelte рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдиреЛрдб.рдЬреЗрдПрд╕-рд╢реИрд▓реА рд╕рдВрдХрд▓реНрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

form/             => form/index.svelte
form/input        => form/input.svelte (or form/input/index.svelte)
form/input.svelte => form/input.svelte

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

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рд░рд┐рдЪ рдХреА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: https://twitter.com/Rich_Harris/status/1002959357250801664 - рдФрд░ рд╡реЗ рднреА Node.

рдореИрдВ рднреА рд╕рд╣рдордд рд╣реВрдВред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдореИрдВ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЖрдкрдХреЛ рдХреЛрдИ рднреЗрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдлрд╛рдЗрд▓ рдПрдХ рд╕реНрд╡реЗрд▓реНрдЯ рдлрд╛рдЗрд▓ рд╣реИ рдФрд░ рдХреМрди рд╕реА рдлрд╛рдЗрд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╛рдЗрд▓ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ index.js рдФрд░ index.svelte рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдПрдХ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдпрд╣ рдмрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде index.js рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

export { default as Index } from './index.svelte';
// ... you can add your other Svelte files here as well

рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░реЗрдВ

<script>
   import { Index } from './form';
</script>

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджреНред рдореИрдВ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд╣реБрдд рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдирд╣реАрдВ рдорд╛рдирд╛ред

рдореИрдВ Svelte рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдорд╛рдБрдЧ рд░рд╣рд╛ рд╣реВрдБ рдЬреИрд╕реЗ рдЖрдк рдХрд┐рд╕реА Javascript, рдЯрд╛рдЗрдкрдкреНрд░рддрд┐, JSX, рдпрд╛ TSX рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред

рдЙрд╕реА рддрд░рд╣ рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд░рд┐рдПрдХреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:

import A from "./a.ts"
// you can just do
import A from "./a"

VSCode рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ Node.js рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╣рдо рдиреЛрдб рдХреЗ рд╕рдорд╛рдзрд╛рди рдирд┐рдпрдореЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреА рдмрд╛рдд рдмрд╣реБрдд рдорд╛рдиреНрдп рд╣реИред рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЬрд╣рд╛рдЬ рд░рд╡рд╛рдирд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ .svelte рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ .ts , .tsx , .jsx рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рдЕрд▓рдЧ рдмрдирд╛рддрд╛ рд╣реИ?

рд▓рдВрдШрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдиреЛрдб рдХреЗ рд╕рдорд╛рдзрд╛рди рддрдВрддреНрд░ рдХрд╛ рдПрдХ рд╕реНрд╡рднрд╛рд╡ рд╣реИред Npm рдХреЗ Isaac Z. Schlueter, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЙрд╕ рд╕рдордп рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗ, рдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЗрдж рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдЙрдирдХреА рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдирд┐рд╢реНрдЪрд┐рдВрдд рд░рд╣реЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╡рд┐рд╖рдп рд╣реИред

рдорд╛рдирдХ рдИрдПрд╕рдПрдо рдЖрдпрд╛рдд рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд░реНрде рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣реА рд╡рд╣ рджрд┐рд╢рд╛ рд╣реИ рдЬреЛ рд╕реНрд╡реЗрд▓реНрдЯреЗ (рдФрд░ рд░реЛрд▓рдЕрдк) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддреА рд╣реИред

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

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

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред

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

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХреЗрдВред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рд░рд┐рдЪ рдХреА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: https://twitter.com/Rich_Harris/status/1002959357250801664 - рдФрд░ рд╡реЗ рднреА Node.

рдореИрдВ рднреА рд╕рд╣рдордд рд╣реВрдВред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

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

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

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

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

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