Error TS1149: File name 'C:/Project/frontend/scripts/State.ts' differs from already included file name '../frontend/scripts/State.ts' only in casing.
Π― ΡΡΠΈΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΊΠΎΡΠΏΡΡ Π² Π½Π°ΡΠΈΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ , ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΡΠΏΡΡ. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ, ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·-Π·Π° ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ?
ΠΠ½ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Mac ΠΈ Linux, Π½ΠΎ Π²ΡΠ΄Π°Π΅Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² Windows.
ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ, Π½ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± Π΅Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. Π£ Π²Π°Ρ Π΅ΡΡΡ zip-ΡΠ°ΠΉΠ», ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
ΠΠ°ΠΊ Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π² ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ tsify. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π²Π΅ΡΡΠΈΡ 1.0.1, Π° forceConsistentCasingInFileNames
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ Π΄ΠΎ 4.0.0.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΎΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² I Π±ΡΠ»ΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Ρ ΡΠΎΠΉ ΠΆΠ΅ Π±ΡΠΊΠ²ΠΎΠΉ "h", ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΠΊΠ²Ρ. ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ "
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ {GraphDataComponent} ΠΈΠ· "./historical/graph-data/graph-data.component"; "Π²ΠΌΠ΅ΡΡΠΎ" ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ {GraphDataComponent} ΠΈΠ· "./Historical/graph-data/graph-data.component" Π² app.moudule. ts.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @aaybhangu!
ΠΡΠΈΠ²Π΅Ρ, Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ TS1149: ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° src / models / headers / userRole.ts ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° src / models / headers / UserRole.ts ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΏΡΡΠΎΠΌ.
Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π½ΠΎ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΊΠ½Π°.
Π― ΡΠΎΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Β«ΡΠ΅ΡΠ΅Π½ΠΎΒ» ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ:
"forceConsistentCasingInFileNames": false,
Π² tsconfig.json
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π² Google Ρ Π½Π°ΡΠ΅Π» ΡΡΠΎ . ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊ ΠΌΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΡΡΠ» ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π² Visual Studio Code, ΠΈ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΠ» Π΅Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΎΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΌΠ½Π΅ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²ΠΎΠ·ΠΈΡΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ tsconfig.json.
Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π³Π΄Π΅-ΡΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ...? ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
"OriginalDirectoryName" => "AnotherName"
File -> Save
All ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Π²ΡΠ΅"AnotherName" => "OriginalDirectoryName"
ΡΠΎΠ³Π΄Π° ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ· camelCase Π² Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΡ Π±ΡΠΊΠ²
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Logger
Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ Π½Π° logger
. ΠΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ΡΡΠΎ, Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ.
ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ VSCode Reload Window
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ VSCode, ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΡΡΠ΅Π·Π°Π΅Ρ. ΠΡΠ°ΠΊ, Ρ Π΄ΡΠΌΠ°Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π³Π΄Π΅-ΡΠΎ Π² VSCode Π΅ΡΡΡ ΠΊΠ΅Ρ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π½Π΅ ΠΎΡΠΈΡΡΠΈΠ»ΡΡ? ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ts ΡΠ°ΠΉΠ»Π΅ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ, Π·Π°ΡΠ΅ΠΌ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ, ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΌΠΎΠ΄Π΅Π»ΠΈ ts ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠ½ΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ angular-CLI.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ updateOpen. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
Info 69 [10:30:18.128] request:
{"seq":5,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["c:/temp/est/Logger.ts"],"openFiles":[{"file":"c:/temp/est/logger.ts","fileContent":"export class logger {\r\n \r\n}","scriptKindName":"TS","projectRootPath":"c:\\temp\\est"}]}}
Err 70 [10:30:18.153] Exception on executing command {"seq":5,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["c:/temp/est/Logger.ts"],"openFiles":[{"file":"c:/temp/est/logger.ts","fileContent":"export class logger {\r\n \r\n}","scriptKindName":"TS","projectRootPath":"c:\\temp\\est"}]}}:
Debug Failure. False expression: Script should not exist and not be open already
Error: Debug Failure. False expression: Script should not exist and not be open already
at ProjectService.applyChangesInOpenFiles (c:\Typescript\built\local\tsserver.js:138090:34)
at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (c:\Typescript\built\local\tsserver.js:138972:46)
at c:\Typescript\built\local\tsserver.js:140630:88
at IOSession.Session.executeWithRequestId (c:\Typescript\built\local\tsserver.js:140621:28)
at IOSession.Session.executeCommand (c:\Typescript\built\local\tsserver.js:140630:33)
at IOSession.Session.onMessage (c:\Typescript\built\local\tsserver.js:140653:35)
at Interface.<anonymous> (c:\Typescript\built\local\tsserver.js:141968:27)
at Interface.emit (events.js:182:13)
at Interface._onLine (readline.js:290:10)
at Interface._normalWrite (readline.js:433:12)
at Socket.ondata (readline.js:149:10)
at Socket.emit (events.js:182:13)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at Socket.Readable.push (_stream_readable.js:219:10)
at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΠΌΠ΅Π½ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
it("forceConsistentCasingInFileNames works when renaming file with different casing", () => {
const loggerFile: File = {
path: `${projectRoot}/logger.ts`,
content: `export class logger { }`
};
const anotherFile: File = {
path: `${projectRoot}/another.ts`,
content: `import { logger } from "./logger"; new logger();`
};
const tsconfig: File = {
path: `${projectRoot}/tsconfig.json`,
content: JSON.stringify({
compilerOptions: { forceConsistentCasingInFileNames: true }
})
};
const host = createWatchedSystem([loggerFile, anotherFile, tsconfig, libFile, tsconfig]);
createWatchOfConfigFile(tsconfig.path, host);
checkOutputErrorsInitial(host, emptyArray);
host.writeFile(anotherFile.path, anotherFile.content.replace("./logger", "./Logger"));
host.runQueuedTimeoutCallbacks();
checkOutputErrorsIncremental(host, [
createCompilerDiagnostic(Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, loggerFile.path, `${projectRoot}/Logger.ts`),
]); // Currently the errors are not reported in watch mode but will be reported if program is created from scratch.
});
ΠΠ°, Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°Π½Π΅Π΅ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ / ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠ΅ΠΉ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
error TS1149: File name '/mnt/c/Users/<username>/Documents/adobe-scripts/InDesign/Create Downloadable
(2020a)/Illustrator/2015.3/index.d.ts' differs from already included file name '/mnt/c/Users/<username>/Documents/adobe-scripts/InDesign/Create Downloadable (2020a)/illustrator/2015.3/index.d.ts' only in casing.
@SturmB
ΠΠ»Π»ΡΡΡΡΠ°ΡΠΎΡ
ΠΈ
ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΎΡ
ΠΠ½Π΅ Ρ
ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΡΠΎ, ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΈΠ»ΡΡΠΎΡ. Π― _Π½Π΅__ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΎΡΠΊΡΠ΄Π° Π±Π΅ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ illustrator
. Π― ΠΏΡΠΎΠ²Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΈΡΠΊΠΎΠ² ΠΈ Π½Π΅ Π½Π°ΡΠ΅Π» Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ»ΠΎΠ²ΠΎ illustrator
(Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΡΠΎΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΠΌ-ΡΠΎ Π΅ΡΠ΅) Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΡΡΠΎΡΠ½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ. Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΡΡΡΠ»Π°ΡΡΡ index.d.ts
ΡΠ°ΠΉΠ» Illustrator
, ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π΅Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. ΠΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ VSCode: Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
Π― Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΠΏΠ°ΠΏΠΊΠΈ Ρ 'foo' Π½Π° 'Foo', ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ git pull
ΠΎΠ½ Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΈΠΌΡ ΠΏΠ°ΠΏΠΊΠΈ, Π»ΠΈΠ±ΠΎ ΠΊΡΠΎ-ΡΠΎ Π·Π°Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ . Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²Π°Ρ ΠΊΠΎΠ΄ Π²Π΅ΡΠ½Ρ, Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ, ΠΈ ΡΠ°ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ; ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ²Π΅Π΄Π΅Ρ Ρ ΡΠΌΠ° TS.
Π’Π°ΠΊ ΡΡΠΎ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ°ΠΏΠΊΠΈ. Π ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
git mv foo tmp
git mv tmp Foo
ΠΠ° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΡΡ commit
ΠΈ push
ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git.
Π Git Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ:
core.ignorecase
. Π§ΡΠΎΠ±Ρ Git ΡΡΠΈΡΡΠ²Π°Π» ΡΠ΅Π³ΠΈΡΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅false
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅:
ΡΡΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ, Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ, ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠΊΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² VSCode ΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ React Π½Π° camelCase ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² VSCode.
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡΠΎ; ΠΌΠΎΠΉ componentA.tsx
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ../store/someStore
Π½ΠΎ ΡΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π» ΠΊ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π±ΡΠ»ΠΎ SomeStore.ts
(Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ VSCode ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ someStore.ts
Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ .
ΠΠΌΡ ΡΠ°ΠΉΠ»Π° '/mypath/store/someStore.ts' ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° '/mypath/store/SomeStore.ts' ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ. _ts (1149) _
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» ( ../store/index.ts
) ΠΈΠΌΠ΅Π» Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ( ./SomeStore
), Π½ΠΎ _Π½Π΅_ Π½Π΅ Π²ΡΠ·Π²Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° VSCode componentA.tsx
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊ index.ts
ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ VSCode ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π»ΠΎΠΆΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π° componentA.tsx
.
ΠΠ΄Π½Π° Π²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ΄Π΅Π»Π°Π», ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, - ΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ WSL. Π― Π²Π΅ΡΠ½ΡΠ»ΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Cygwin, ΠΈ Ρ ΡΠ΅Ρ ΠΏΠΎΡ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π― ΡΠΎΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Β«ΡΠ΅ΡΠ΅Π½ΠΎΒ» ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ:
"forceConsistentCasingInFileNames": false,
Π²tsconfig.json
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ
ΠΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π² Google Ρ Π½Π°ΡΠ΅Π» ΡΡΠΎ . ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊ ΠΌΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΡΡΠ» ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π² Visual Studio Code, ΠΈ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΠ» Π΅Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΎΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΌΠ½Π΅ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²ΠΎΠ·ΠΈΡΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ tsconfig.json.
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ
Π― ΡΠΌΠΎΠ³ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΡΠΎ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π² ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΎΠ½ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π― ΡΠ΄Π°Π»ΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΅Π³ΠΎ ΡΠ½ΠΎΠ²Π°. ΠΠΎΠ»Ρ, Π΄Π°, Π½ΠΎ ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» Π΅Π΅, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² "forceConsistentCasingInFileNames": false
Π² tsconfig.json, Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ VSCode.
Π£ ΠΌΠ΅Π½Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² WebStorm ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ², Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠ΅Ρ IDE.
ΠΡΠ»ΠΈ ΠΎΡΠΈΡΡΠΊΠ° ΠΊΠ΅ΡΠ° / ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° IDE Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ, ΡΠ½ΠΎΠ²Π° ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ.
Π― Π½Π°ΡΠ΅Π» ΡΡΠΎ Π½Π° Mac:
import ComponentA from './ComponentA';
import ComponentA from './ComponentA';
import ComponentA from './componentA;'
import ComponentA from './ComponentA;'
File name '/componentA.ts' differs from already included file name '/ComponentA.ts' only in casing. ts(1149)
ΠΠ΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° Mac ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ import ComponentA from './ComponentA;'
Π² componentB.ts , Π° Π·Π°ΡΠ΅ΠΌ Β«ΠΊΡΡΠΈΡΡΠ΅Ρ / ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΒ» ΡΡΠΎΡ ΠΏΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ°.
Π’ΠΎΠ³Π΄Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ Π² componentC.ts Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» componentC.ts Π±ΡΠ» Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ, ΠΈ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ componentB.ts , Ρ ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ componentC.ts .
ΠΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ gulp. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΡΠ°ΡΠΎΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ, ΠΈ Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
ΠΠ·-Π·Π° ΡΡΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° vue
ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΆΠ°Π»ΡΠ΅ΡΡΡ Π½Π° Vetur, ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ VS Code ( Ctrl + Shirt + P
-> Reload Window), ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π» @uniquexiaobai .
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Typescript-Server. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ VSCode - ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΉ.
Π VSC Π½Π° OSX: CMD + Shift + P
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ TypeScript: Restart TS server
.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ webstorm Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΈ ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΠ΅Ρ:
ΡΠ°ΠΉΠ»> ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ΅ΡΠΈ / ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ
Π‘Π°ΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΠΈ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π½Π°ΡΠ΅Π», -.
ΠΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΡΠΏΡΡΠΎΠΌ.
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
ListsDrawerOfContent
ΠΈ ListsDrawerofContent
Π― ΡΠ΄Π°Π»ΠΈΠ» ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΠΎΠ·ΠΆΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π² ListsDrawerOfContent
.
Π Π°Π±ΠΎΡΠ°Π» ΠΊΠ°ΠΊ ΡΠ°ΡΠΌ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ git.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ Β«aΒ» Π½Π° Β«AΒ» Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠ» ΠΊΠΎΠ΄ vs, ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ VSCode ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° forceConsistentCasingInFileNames: false ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ.
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: (ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Π΄ΠΈΡΠΊΠ°)
ΠΠΌΡ ΡΠ°ΠΉΠ»Π° 'D: /mycode/devmono2/packages/server-sdk/index.ts' ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° 'd: /mycode/devmono2/packages/server-sdk/index.ts' ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠΌ. 1149)
ΠΠΎΡΠ΅ΠΌΡ?
Π Π΅ΡΠ΅Π½ΠΎ!
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΠΏΡΠΎΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΡΠ΅ Π±ΡΠ»ΠΎ Ρ ΠΎΡΠΎΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π½Π° Mac, Π½ΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Π» ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Jenkins. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π±ΡΠ»ΠΎ Β«quote.tsΒ», Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git ΡΡΠΎ Π±ΡΠ»ΠΎ Β«Quote.tsΒ».
ΠΠ°ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΎ Β«Quote.tsΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ». ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° Β«quote.tsΒ», Π½ΠΎ git Π½Π΅ ΡΡΠΌΠΎΡΡΠ΅Π» Π² ΡΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΌΠ°ΠΊΠΈΠ½ΡΠΎΡΠΈ Π½Π΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ), ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎ.
Π ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Jenkins ΡΠ°Π±ΠΎΡΠ°Π», ΠΎΠ½ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π» 'Quote.ts', ΠΊΠΎΠ³Π΄Π° Π½Π° Π½Π΅Π³ΠΎ ΡΡΡΠ»Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ '../../quote.ts', ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ°ΠΊ Ρ ΡΡΠΎ ΡΠ΅ΡΠΈΠ»
ΠΡΠΌ-Π±Π°ΠΌ! ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ
ΠΡΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 100 ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ΅ ΡΠΈΡΠ°Π» ΠΈΡ Π²ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Ρ Π²ΡΠ΅Ρ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠ·Π΅Π» Π² WSL2, ΡΡΠΎ, ΠΊΠ°ΠΊ Ρ ΡΡΠΈΡΠ°Π» ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·ΡΠΌΠ΅ΡΡΠΈΠΌΡΡ, Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΡΠ»Π΅ 2 ΡΠ°ΡΠΎΠ² Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π» Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π½Π°ΡΠ΅Π» ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ {FooInterface} ΠΈΠ· '../Foo'; // Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ '../foo'
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ {BarService} ΠΈΠ· '../Bar'; // Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ '../bar'
Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ Π½Π° Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ, ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠ» vscode, ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΠ» Π΅Π³ΠΎ, ΠΈ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΡΡΠ΅Π·Π»ΠΈ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ts ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ ('Foo' Π²ΠΌΠ΅ΡΡΠΎ 'foo'), Π° Π·Π°ΡΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ!
Π― ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ²ΠΎΠΉ ide, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΡΡΠ΅Π·Π»Π°
ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ng ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°, Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΡ ΡΡΡΠ»ΠΊΡ,
ΡΠΎΠ³Π΄Π° ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ,
Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ, ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ΅ΡΠ΅Π½Π°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΌΠ΅Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΠΏΡΡΠ°ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Git Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
+1 ...... Π½ΠΎ ΠΠΠ§ΠΠΠ£ ΠΠΠΠΠΠΠ
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ vscode, VSCode ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ, ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° tsc
ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, Π½ΠΎ Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π» ΡΡΡ Π²ΠΎΠ»Π½ΠΈΡΡΡΡ ΡΡΡΠΎΠΊΡ ΡΡΠ΅Π½ΠΈΡ Π² VSCode. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠ» ΡΠ΅ΡΠ²Π΅Ρ Typescript Π² vscode ( Typescript: Restart TS Server
), ΠΈ ΠΎΠ½ ΠΈΡΡΠ΅Π·. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
@ninjavang ΡΡ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³! ΠΡΠ»Π° ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΌΠΎΠΈΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠΌ gitlab ci / cd. ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΎΡΠ΅Π» Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π±ΡΠ»ΠΎ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°, ΠΊΠ°ΠΆΠ΄Π°Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°.
Π― ΡΠ΄Π°Π»ΠΈΠ» Π½Π΅Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠ»ΡΡΠ΅ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΎΡΠΊΠ»ΡΡΠΈΠ» ΠΏΡΠ»ΡΡ, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ VS ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠ°ΠΉΠ». ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ!
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠΌΠΎΡΡ!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π² Google Ρ Π½Π°ΡΠ΅Π» ΡΡΠΎ . ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊ ΠΌΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΡΡΠ» ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π² Visual Studio Code, ΠΈ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΠ» Π΅Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΎΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΌΠ½Π΅ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π²ΠΎΠ·ΠΈΡΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ tsconfig.json.
Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ