Language-tools: рдЙрдкрдирд╛рдо рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

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

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдЖрдпрд╛рдд рдЙрдкрдирд╛рдо @/ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рддрдм рдореИрдВрдиреЗ Vite рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд░реВрдЯ рдЕрд▓рд╛рдпрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ /@/ рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреЛрдб рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ vscode рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:

image

рдкреНрд░рдЬрдирди рдХрд░рдирд╛
/@/ рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

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

  • рдУрдПрд╕: рдЙрдмрдВрдЯреВ
  • рдЖрдИрдбреАрдИ: VSCode
  • рдкреНрд▓рдЧрдЗрди / рдкреИрдХреЗрдЬ: "VSCode рдХреЗ рд▓рд┐рдП Svelte"

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

рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ module-loader , рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп TS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдкреВрд░реНрдг рдкрде" рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рд╕рд╣реА рд╣реИ (рдлрд╝рд╛рдЗрд▓ рдкрде / рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ "tsconfig рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдпрд╣ рдЙрдкрд╕рд░реНрдЧ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ" рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рдЖрдкрдХреЛ tsconfig / jsconfig.json рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

https://www.typescriptlang.org/docs/handbook/module-resolution.html#path -mapping

рдореИрдВ рднреА рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ tsc рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, svelte-check рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдирд╛рдо рдкрде рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рдУрдкреА рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ language-tools tsconfig.json рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдмрдЧ рд╣реИ?

Screenshot 2020-08-21 at 13 06 57

рд╡рд╣ рддреНрд░реБрдЯрд┐ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ svelte2tsx рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдЧрд░ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ рддреЛ рд╣рдо svelte2tsx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@ рдХреИрдЯрд░ рдЖрдк рдЕрдкрдирд╛ tsconfig рдХрд╣рд╛рдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ?

@ jasonlyu123 рдиреАрдЪреЗ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдмреИрдХрдПрдВрдб / рдлреНрд░рдВрдЯрдПрдВрдб рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдиреЛрд░реЗрдкреЛ рд╣реЛрддреА рд╣реИ:

.
тФЬтФАтФА Makefile
тФЬтФАтФА README.md
тФЬтФАтФА database
тФВ   тФФтФАтФА database.rules.json
тФЬтФАтФА firebase.json
тФЬтФАтФА firestore
тФВ   тФЬтФАтФА firestore.indexes.json
тФВ   тФФтФАтФА firestore.rules
тФЬтФАтФА functions // backend code
тФВ   тФЬтФАтФА package-lock.json
тФВ   тФЬтФАтФА package.json
тФВ   тФЬтФАтФА src
тФВ   тФВ   тФФтФАтФА index.ts
тФВ   тФФтФАтФА tsconfig.json
тФЬтФАтФА hosting // frontend PWA code
тФВ   тФЬтФАтФА ...
тФВ   тФЬтФАтФА src
тФВ   тФВ   тФЬтФАтФА components
тФВ   тФВ   тФВ   тФЬтФАтФА App.svelte
тФВ   тФВ   тФВ   тФФтФАтФА ...
тФВ   тФВ   тФЬтФАтФА images
тФВ   тФВ   тФВ   тФЬтФАтФА cover.png
тФВ   тФВ   тФВ   тФФтФАтФА ...
тФВ   тФВ   тФЬтФАтФА index.css
тФВ   тФВ   тФЬтФАтФА index.ts
тФВ   тФВ   тФЬтФАтФА pages
тФВ   тФВ   тФВ   тФЬтФАтФА Auth
тФВ   тФВ   тФВ   тФВ   тФФтФАтФА ...
тФВ   тФВ   тФВ   тФЬтФАтФА Error
тФВ   тФВ   тФВ   тФВ   тФФтФАтФА ...
тФВ   тФВ   тФВ   тФЬтФАтФА Home
тФВ   тФВ   тФВ   тФВ   тФФтФАтФА ...
тФВ   тФВ   тФВ   тФФтФАтФА User
тФВ   тФВ   тФВ       тФФтФАтФА ...
тФВ   тФВ   тФФтФАтФА stores
тФВ   тФВ       тФФтФАтФА ...
тФВ   тФЬтФАтФА svelte.config.js
тФВ   тФЬтФАтФА tailwind.config.js
тФВ   тФЬтФАтФА tsconfig.json
тФВ   тФЬтФАтФА vite.config.ts
тФВ   тФФтФАтФА workbox.config.js
тФЬтФАтФА package-lock.json
тФФтФАтФА package.json

рд╣реЛрд╕реНрдЯрд┐рдВрдЧ / tsconfig.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "baseUrl": "src",
    "declaration": true,
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "forceConsistentCasingInFileNames": true,
    "importHelpers": true,
    "importsNotUsedAsValues": "error",
    "isolatedModules": true,
    "lib": ["dom", "esnext", "es6"],
    "module": "esnext",
    "moduleResolution": "node",
    "noEmit": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "rootDir": "src",
    "skipLibCheck": true,
    "sourceMap": true,
    "strict": true,
    "strictBindCallApply": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictNullChecks": true,
    "target": "esnext",
    "types": ["jest", "node", "svelte"],
    "paths": {
      "/@/*": ["*"]
    }
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules/*", "public/*"]
}

рдЕрдЧрд░ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ рддреЛ рд╣рдо svelte2tsx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдВ, рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ tsconfig.json рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП alias рдкрде рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдЙрдкрдирд╛рдо рдкрде рдХреЗ рдмрдЬрд╛рдп рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдкрде рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рддреЛ vscode рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ svelte-check рдЕрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХреЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк OP рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ ComboBox рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк vscode рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдЪреИрдирд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджрд╛рдИрдВ рдУрд░ рдбреНрд░реЙрдкрдбрд╛рдЙрди рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ред рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ
Initialize new ts service at c:/Current Projects/svelte-app/tsconfig.json рдФрд░ рдпрд╣рд╛рдВ рд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред

рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ getDefinitionAndBoundSpan рдРрд╕реЗ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЖрдпрд╛рддрд┐рдд TS / JS рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди .svelte рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред

рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ module-loader , рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп TS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдкреВрд░реНрдг рдкрде" рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рд╕рд╣реА рд╣реИ (рдлрд╝рд╛рдЗрд▓ рдкрде / рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ "tsconfig рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдпрд╣ рдЙрдкрд╕рд░реНрдЧ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ" рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдУрдкреА рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣рд╛ рдХрд┐ рдпрд╣ @/ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ ЁЯШЕ

рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдХрд┐рддрдиреЗ рднрдпрд╛рдирдХ рд╣реИрдВред рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж

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

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

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

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

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

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

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