рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдЖрдпрд╛рдд рдЙрдкрдирд╛рдо @/
рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рддрдм рдореИрдВрдиреЗ Vite рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд░реВрдЯ рдЕрд▓рд╛рдпрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ /@/
рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреЛрдб рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ vscode рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:
рдкреНрд░рдЬрдирди рдХрд░рдирд╛
/@/
рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реА рдХрд░реЗрдВ):
рдЖрдкрдХреЛ tsconfig / jsconfig.json рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
https://www.typescriptlang.org/docs/handbook/module-resolution.html#path -mapping
рдореИрдВ рднреА рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ tsc
рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, svelte-check
рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдирд╛рдо рдкрде рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рдУрдкреА рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ language-tools
tsconfig.json
рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдмрдЧ рд╣реИ?
рд╡рд╣ рддреНрд░реБрдЯрд┐ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ 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 рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдпрд╣ рдЙрдкрд╕рд░реНрдЧ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ" рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдУрдкреА рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣рд╛ рдХрд┐ рдпрд╣ @/
рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ ЁЯШЕ
рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдХрд┐рддрдиреЗ рднрдпрд╛рдирдХ рд╣реИрдВред рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ
module-loader
, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп TS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдкреВрд░реНрдг рдкрде" рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рд╕рд╣реА рд╣реИ (рдлрд╝рд╛рдЗрд▓ рдкрде/
рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ "tsconfig рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдпрд╣ рдЙрдкрд╕рд░реНрдЧ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ" рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред