Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ @ts-ignore ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ Π½Π΅ΠΉ
Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅
ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³: ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π±Π΅Π· Π½Π΅Π³ΠΎ ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ°ΠΉΠ»Π΅, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ
Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ, Π»ΠΎΠ»
Π’Π΅ΠΊΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ β ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Β«Π±Π΅Π· ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²Β» ΠΏΠΎ ββΡΠ²Π°ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ Π΅Π³ΠΎ Π½Π° Π±Π»ΠΎΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ES6. .
ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ _ a.k.a partial import
_ Π² mathjs
// tslint:disable:no-var-requires
import core from 'mathjs/core'
// @ts-ignore
import mathUnit from 'mathjs/lib/type/unit'
// @ts-ignore
import mathExpression from 'mathjs/lib/expression/function'
// @ts-ignore
import mathArithmatic from 'mathjs/lib/function/arithmetic'
const math = core.create()
// math.import(require('mathjs/lib/type/unit'))
// math.import(require('mathjs/lib/expression/function')) // compile, eval
// math.import(require('mathjs/lib/function/arithmetic')) // basic arithmetic like divide, exponent, etc
math.import(mathUnit)
math.import(mathExpression) // compile, eval
math.import(mathArithmatic) // basic arithmetic like divide, exponent, etc
export const unit = math.unit
export const createUnit = math.createUnit
export const compile = math.compile
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°. Π― ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ JS-ΠΊΠΎΠ΄ ES6, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΡΠ°Π½ΡΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ES5, Π½ΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Babel. ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² .ts ΠΈ ΡΡΠ°Π½ΡΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ TS.
@ptallett , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ .js
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ allowJs
ΠΈ Π²ΠΊΠ»ΡΡΠΈΠ² ΠΈΡ
Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΡ Π½Π΅ Π²ΡΠ΄Π°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ
.js
, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ // @ts-check
Π²Π²Π΅ΡΡ
Ρ ΠΈΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ checkJs
.
ΠΠ½Π΅ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Ρ ΡΠΈΠΆΡ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .ts, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠ³Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π»Π΅Π³ΠΊΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΡΠ΄Π° ΠΈΠ΄ΡΡ, ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΠ΄ΠΎΠΌ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ src ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ .
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠΎΠΈΡ ΡΡΡΠΎΠΊ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΡΠ°ΡΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΈ ΠΎΠΆΠΈΠ΄Π°Ρ Π²ΡΠ΄Π°ΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡ Π΅Π΅ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π²Π΅Π·Π΄Π΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΊΡΡΠΈ ΠΊΡΠ°ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ. :)
ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π° Π½Π΅ΠΌ, ΠΈΠ»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΡΠ΅Π» Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ lodash
ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ lodash/fp
Ρ TypeScript ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ, ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ lodash
ΠΈ @types/lodash
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ΅Π½Ρ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
.
ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠΌΠ΅ΡΡ @ts-ignore-block
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° _Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅_ :-)
Π― ΡΠ°Π±ΠΎΡΠ°Ρ Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΈ ΠΏΠΈΡΠ°ΡΡ @ts-ignore Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π΄Π΅Π»Π°Ρ (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠ°Π±Π»ΠΎΠ½Π° Vue, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°).
ΠΠ°ΡΡΠ΄Ρ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, #19139 Π±ΡΠ» Π±Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΡΡΡΠΌ ΠΊΠΎΠ΄Π°, Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
Ρ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΎΡΠ²Π΅ΡΡΡΠΈΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ vs code, Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ»ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ.
Π’ΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ. Π― Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΠ°ΠΉΠ» ts Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π»Ρ ΠΌΠΎΠ΅ΠΉ ΡΡ
Π΅ΠΌΡ GraphQL, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ graphql-code-generator
, ΠΈ Π΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ noUnusedLocals.
// @ts-ignore-start
// @ts-ignore-end
ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ: https://github.com/Microsoft/TypeScript/issues/19139
// @ts-ignore-start Property_0_does_not_exist_on_type_1
// @ts-ignore-end (possible include the error type again so you can turn be more specific of where you want to ignore some errors
@marianturchyn ΡΡΠΎ Π½Π΅ tslint.
ΠΠ½ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ Π²Π΅ΡΠΈ ΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, Ρ Ρ ΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» (Ρ. Π΅. Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ), Π½Π΅ Π²ΠΎΠ·ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ CLI.
Π‘Π°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ/ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ - ΡΡΠΎ ΡΠ»Π°Π³ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π°:
// @ts-ignore-file
@ lonix1 Π‘Π»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΡΡ:
// @ts-ignore-start
// @ts-ignore-end
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ // @ts-ignore-end
. Π’Π°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ lint.
@mgol Π― Π½Π΅ Ρ
ΠΎΡΡ ΡΡΡΠ²Π°ΡΡ ΡΡΡ ΡΠ΅ΠΌΡ ... Π½ΠΎ Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ - ΡΠΏΠ°ΡΠΈΠ±ΠΎ! - ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. Π― ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ» ΡΡΡΠΎΠΊΠΈ Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΎΠ΄Π½Ρ Π²Π²Π΅ΡΡ
Ρ, Π° Π΄ΡΡΠ³ΡΡ Π²Π½ΠΈΠ·Ρ.
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ?
@lonix1 Π― ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ @Blanen ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π²Π°Ρ, Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½ TypeScript Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ // @ts-ignore-start
+ // @ts-ignore-end
ΠΈ // @ts-ignore-file
, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ // @ts-ignore-start
+ // @ts-ignore-end
Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΡΠΎ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ.
@DanielRosenwasser ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ»Ρ ts ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² js ΡΡΠ΄ΠΎΠΌ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ts, ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ Π»ΠΈ ΡΠ°ΠΉΠ»Ρ js Β«ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΡΒ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² es5? ΠΡΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΡΠΆΠ½Π° ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
TypeORM ΠΎΠΆΠΈΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΠ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΠΎΠ»Π±ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΡ (ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ) Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ NULLβ¦ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Typescript ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ:
@Entity('investigation')
export class InvestigationEntity {
@PrimaryGeneratedColumn('uuid')
// @ts-ignore TS2564
public investigationId: string;
@Column({ type: 'uuid' })
// @ts-ignore TS2564
public userId: string;
@Column({ type: 'jsonb' })
// @ts-ignore TS2564
public metadata: IEncryptedJSONContainer;
}
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ ΠΈ (ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ) ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ TypeORM, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΌ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°. ΠΡΠ»ΠΎ Π±Ρ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ORM, Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°).
@haggholm Π΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅ΡΡΡ ts-ignore
public metadata!: IEncryptedJSONContainer
?
@RyanCavanaugh ΠΠ΅Π²Π΅ΠΆΠ΅ΡΡΠ²ΠΎ! Π― ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ·Π²ΠΈΠ½ΡΡΡΡ; ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅.
Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ
// @ts-ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ-ΡΡΠ°ΡΡ
--strick Π½ΡΠ»Π΅Π²ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ 6 ΡΡΡΠΎΠΊ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π£ΠΆΠ°ΡΠ½ΡΠΉ. ΠΠ°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠΈ Π³Π»Π°Π·Π° ΠΊΡΠΎΠ²ΠΎΡΠΎΡΠΈΡΡ. ΠΡΠ±ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² Π±ΡΠ΄ΡΡ Π²ΡΡΠΎΠΊΠΎ ΠΎΡΠ΅Π½Π΅Π½Ρ.
it('TestNode_ReconnectionsWorkload', async function () {
for (let i = 0; i < 1; i++) {
nodes.push(await Node.NewNode(serverUrl, {
handlers: {
active: async function (n: Node) {
try {
// @ts-ignore
if (n.view.Empty()) {
// @ts-ignore
if (n.conns.Empty() && !n.server) {
// @ts-ignore
await n.login(n.address);
}
return;
}
const data = new flats.Message({
// @ts-ignore
id: n.id,
type: flats.MessageType.Data,
data: 'hello world',
});
const dataBytes = data.toBytes();
const dataBase64 = base64.encode(dataBytes);
// @ts-ignore
const dataSigBytes = await n.sign(dataBytes);
const dataSigBase64 = base64.encode(dataSigBytes);
// @ts-ignore
for (const conn of n.conns.Iter()) {
conn.Send(`${dataBase64}.${dataSigBase64}`);
}
} catch (error) {
console.log(error);
}
},
},
}));
}
for (const node of nodes) {
await node.Wait();
}
});
ΠΡ, Ρ ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π΅Π΅.
@ts-ignore ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ!
ΠΡΡΡ Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ npm, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π±Π΅Π· NoImplicitAny,
ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«Π½Π΅ΡΠ²Π½ΠΎ Π»ΡΠ±Π°ΡΒ», ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΡΡ:
import { a, b } from 'MyNonTypedModule' // <-- Implicit any error
ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ @ts-ignore:
//@ts-ignore
import { a, b } from 'MyNonTypedModule'
ΠΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Prettier, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ:
(ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Prettier)
//@ts-ignore
import {
a,
b
} from 'MyNonTypedModule' // <-- Still (again) getting the Implicit any error
Π― ΠΌΠΎΠ³Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
import {
a,
b
//@ts-ignore
} from 'MyNonTypedModule'
ΠΈΠ»ΠΈ
//@ts-ignore-start
import {
a,
b
} from 'MyNonTypedModule'
//@ts-ignore-end
ΠΠΎ Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ΅:
//@ts-ignore-start
import { a } from 'MyNonTypedModule'
//@ts-ignore-end
import { b } from 'SomeTypedModule'
//@ts-ignore-start
import { c } from 'SomeOtherNonTypedModule'
//@ts-ignore-end
ΠΠΎΡΡΠΎΠΌΡ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΡΠ°ΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΌ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ ΡΠ΅Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ°, Π΅ΡΠ»ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠ° Π²ΡΡΡΠ½ΡΡ.
ΠΡΠ»ΠΎ Π±Ρ Ρ
ΠΎΡΠΎΡΠΎ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ ts-ignore-start ΠΈ ts-ignore-end ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ΅,
ΠΡΠ°ΠΊ: //@ts-ignore Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° (Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ), Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ts-ignore. (ΠΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ³Π½ΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: @ts-ignore-block / @ts-ignore-import)
ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅:
// @ts-ignore-all TS1206
/*
... rest of the file
*/
Π ΡΠΎΠ³Π»Π°ΡΠΈΠΈ Ρ Π»ΡΠ΄ΡΠΌΠΈ Π²ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ // @ts-ignore-start
ΠΈ // @ts-ignore-end
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ
Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΡΠΎ Ρ
ΠΎΡΠΎΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ // @ts-ignore
ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ // @ts-ignore-start
Π²Π²Π΅ΡΡ
Ρ.
ΠΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ΄Π° Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ:
@ts-ignore
ΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
@ts-ignore TSxxx [TSxxx ...]
ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
@ts-ignore-start
Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
@ts-ignore-start TSxxx [TSxxx ...]
ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ°
@ts-ignore-end
ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ
@ts-ignore-all
ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π°
@ts-ignore-all TSxxx [TSxxx ...]
ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π°
Β«ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈΒ» ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π³ΡΡΠΏΠΏΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΠ°ΠΌ Π² tsconfig, ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π³ΡΡΠΏΠΏΡ ΠΎΡΠΈΠ±ΠΎΠΊ TSxxx.
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ; Ρ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅Π» ΡΠ²Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ts-ignore Π² ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΎ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π·Π΄Π΅ΡΡ Π½Π° Π·Π°Π±ΠΎΡΠ΅.
.tsignore
ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ
.npmignore
ΠΈ.gitignore
ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±Π»ΠΎΠΊ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π― Π·Π°ΡΡΡΡΠ» Π² ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ puppeteer. Π puppeteer Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Β«ΠΎΡΠ΅Π½ΠΈΡΡΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
// @ts-ignore-start // @ts-ignore-end
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° TypeScript ΠΌΠ΅Π½Π΅Π΅ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ.
Π
// @ts-ignore-start
// @ts-ignore-end
Π― ΡΠ΄Π΅Π»Π°Π» ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π½Π΅Π΅ ΠΈ Ρ
ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
ΠΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°ΠΉ ΡΡΠ°ΡΡ-ΡΡΠΎΠΏ, Π»ΠΈΠ±ΠΎ Π½Π°ΡΠ½ΠΈ-ΠΊΠΎΠ½Π΅Ρ
start
ΠΈ end
(ΠΊΠ°ΠΊ Π³Π»Π°Π³ΠΎΠ»Ρ) Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π°Π½ΡΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ, ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡ ΠΌΠ΅Π½Ρ Π½Π°Π²ΡΠ΅Π³Π΄Π°, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
ΡΡΠΎ ΠΊΡΡΡΠΎ ΡΠΎ ΠΌΠ½ΠΎΠΉ
// @ts-ignore-begin
// @ts-ignore-end
ΠΡΠ°ΠΉΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ? :-(
ΠΠ½Π΅ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ΅Π½ ΠΈΠ³Π½ΠΎΡ Π±Π»ΠΎΠΊΠ°
+1
+1
ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
ππ»
Π Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Ρ eslint?
/* @ts-disable */
!function(){
// no ts here!
}()
/* @ts-enable */
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅: ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ TS (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ swagger), Π³Π΄Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ.
+1
ΠΠ΅Π· //@ts-ignore-file
Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° TS
Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ "Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡ" Π½Π΅ΠΏΡΠ°Π²Π΄Π°
@RyanCavanaugh Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ²Π½ΠΎ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΡΠΎΠΌ, Π΅ΡΡΡ Π»ΠΈ ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π― Π±ΠΎΡΡΡΡ Ρ ΡΡΠΈΠΌ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π±Π΅Π· ΠΏΠ»Π°ΡΠ° Typescript ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π½ΡΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏΡ Node Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ. ΠΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ // @ts-ignore Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ skipLibCheck
Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΠΈΠ΄Π΅Ρ // @ts-ignore-file, Π½ΠΎ // @ts-ignore, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠ°Π±ΠΎΡΠ°Π» Π±Ρ Π»ΡΡΡΠ΅ Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ... Π― ΠΎΡΠΊΡΡΠ» #33383 Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ //@ts-nocheck
Π² ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ²Π»ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° _TypeScript_, ΠΌΡ ΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ (Π½Π΅ ΠΈΡΠΏΡΠ°Π²Π»ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎΠΎΠΎΠΎΠΎ!!?!?) - Π΄Π°ΠΆΠ΅ //@ts-ignore
Π² ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠ°Π»ΠΈ Π²Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°ΠΌ Π²ΡΠΊΡΡΡΠΈΠ»ΠΈ ΡΡΠΊΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ.... ΠΊΠΎΠ»Π΅Π±Π»Π΅ΠΌΡΡ... Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ, Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠΉΡΠΈ ΡΡΠ΄Π° ΠΈ π
@weswigham , Ρ ΠΎΡΡ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π΅ Π½Π°ΡΠ»Π° ΡΠΏΠΎΡΠΎΠ± Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° ΠΊΠ°ΠΊ "ΠΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΡΠ·ΡΠ²ΠΎΠ²", Π²ΠΎΡ Π΅ΡΠ΅:
ΠΡΠΈ Π±ΡΡΡΡΠΎΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Ρ Π±Ρ Ρ ΠΎΡΠ΅Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TypeScript, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Ρ ΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² , ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠΎΠΊΠ° Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΡ.
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ @ts-ignore-
Π²Π²Π΅ΡΡ
Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π±ΡΠ»ΠΎ Π±Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ @kumar303 : ΠΏΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°/ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΡΠ»ΡΡΠ°ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.
@weswigham ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎ Π·Π° ΡΠ»Π°Π³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π·Π° ΡΠ»Π°Π³ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΠ΅ Π½Π°Π΄ΠΎ - ΡΡΠΎ Π² Π±Π΅ΡΠ΅ 3.7.
re: https://github.com/microsoft/TypeScript/pull/33383 : @weswigham , ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΠΎΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π² ΡΠ°ΠΉΠ»Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ lint, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ Π·Π°Π±ΡΠ²Π°Π΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ @ts-nocheck
ΠΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ gatsby, Π³Π΄Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΏΡΠΎΡ graphQL ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ°ΠΉΠ»Π°Ρ
.jsx
, Π½ΠΎ Π½Π΅ Π² ΡΠ°ΠΉΠ»Π°Ρ
.tsx
. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΠΌ ΠΏΡΡΠ΅ΠΌ. (Π²ΠΎΠΏΡΠΎΡ Π·Π΄Π΅ΡΡ https://github.com/AdamLeBlanc/gatsby-plugin-ts-loader/issues/5)
ΠΡΠΈΠ²Π΅Ρ!
ΠΡΠ»ΠΎ Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
// @ts-ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ-ΡΡΠ°ΡΡ
// @ts-ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ-ΠΊΠΎΠ½Π΅Ρ
ΠΡΠΌΠ°Ρ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΠ΅Π½Ρ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ. Π― Π±ΡΠ» Π±Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΠ² ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ.
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ //@ts-nocheck
Π΄Π»Ρ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Π² Π²Π΅ΡΡΠΈΠΈ 3.7. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ _Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ_ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π±Π΅Π· ΠΎΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅ΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π»ΠΎΠΊ Π² ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ, ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ? ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ts-ignore
ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ts-nocheck
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» β ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Ρ
ΡΠΆΠ΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΎΠ΄Π°Π²Π»ΡΠ΅ΡΠ΅). ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π±Π΅Π· ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠ½Π΅ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
Π―, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅Π» Π±Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ( //@ts-nocheck File is a legacy untyped UMD module concatenated into the build - declarations are pulled from node_modules, so errors here are hopefully meaningless
) Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ ( //@ts-ignore The TS compiler doesn't support the assignment on the next line because we never declare it, but we provide this for legacy compat
) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡ
ΠΎΠΉ Π²Π΅ΡΠΈ (tm). Π― Π½Π΅ ΠΌΠΎΠ³Ρ, Ρ
ΠΎΡΡ ΡΠ±Π΅ΠΉ, ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ _Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ_ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠΊΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ), ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ "Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΌΠ΅Π½Ρ Π³Π»Π°Π·Π° ΠΊΡΠΎΠ²ΠΎΡΠΎΡΠ°ΡΒ», ΠΊ ΡΠ΅ΠΌΡ Ρ ΠΌΠ΅Π½Ρ _Π½ΡΠ»Π΅Π²ΠΎΠ΅_ ΡΠΎΡΡΠ²ΡΡΠ²ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ, ΠΏΠΎ ΡΡΡΠΈ, ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ Π²Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π² TypeScript. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΈΠΏΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π½Π΅Π΅ (Π²ΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ any
, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ). ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π²ΡΠ΅ ΡΠΆΠ°ΡΠ½ΠΎ, ΠΈ ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ»ΠΎΠΌΠ°Π΅ΠΌΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ (ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° //@ts-nocheck
, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°:
const $element = document.createElement('iframe')
$element.loading = 'lazy' // Property 'loading' does not exist on type 'HTMLIFrameElement'.
// @ts-nocheck
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ORM Π½Π° Typescript, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ acorn Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² Π½Π°Ρ DDL.
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ where, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ:
.entities
.include('parent')
.where(m => m.id === this.id, { id: this.entityId })
.toList()
ΠΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ: Property 'id' does not exist on type 'xxx'
ΠΡΠ»ΠΈ Ρ ΠΎΠ±Π΅ΡΠ½Ρ Π΅Π³ΠΎ Π² @ts-ignore-start
, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
// @ts-ignore-start
.where(m => m.id === this.id, { id: this.entityId })
// @ts-ignore-end
ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΡΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°Π·ΡΡΠ²Ρ ΡΡΡΠΎΠΊ:
// @ts-ignore-start
.where(m => m.id === this.id || m.id === this.id2, {
id: this.entityId,
id2: this.entity2Id
})
// @ts-ignore-end
ΠΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ:
ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΈΠΏΠ°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ as any
(ΠΈΠ»ΠΈ, Π² jsdoc, /** <strong i="8">@type</strong> {any} */(expr)
) Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° (ΠΎΠ²), Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠΈΡΠ΅ Π΅Π΅ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ.
//@ts-nocheck
Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ts angular, Π½ΠΎ //@ts-ignore
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π»Ρ Microsoft Π½Π°ΡΠ°Π»Π°ΡΡ Π² 2017 Π³ΠΎΠ΄Ρ. 2017! ΠΠΎΡ ΡΡΠΎ Π΄Π°...
Π£ΠΆΠ΅ 3 Π³ΠΎΠ΄Π°, Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅Ρ. ΠΠ΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ JavaScript Π½Π΅ Ρ ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
// @ts-ignore-start // @ts-ignore-end
ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ: #19139
// @ts-ignore-start Property_0_does_not_exist_on_type_1 // @ts-ignore-end (possible include the error type again so you can turn be more specific of where you want to ignore some errors
@marianturchyn ΡΡΠΎ Π½Π΅ tslint.
ΠΡΡΡ ΠΏΠ»Π°Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ?
// @ts-nocheck
ΠΏΠΎΠΊΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ :(
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ Π·Π΄Π΅ΡΡ...
Π― ΠΊΠΎΠ΄, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΡΡΡ ΠΊΠΎΠ΄Π° TypeScript ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ. Π₯ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, Ρ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΊΠΎΠ΄Π° (ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ).
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, TS2367, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
if (foo === MyEnum.ONE) {
const bar = (foo === MyEnum.TWO ? "two" : "one");
}
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ (ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ!) Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π― Π½Π΅ Ρ ΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ², Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. Π ΠΈΠ΄Π΅Π°Π»Π΅ Ρ Π±Ρ ΠΏΠΎΠ΄Π°Π²ΠΈΠ» ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» Π±Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ². Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ ΠΎΡ TypeScript ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ JavaScript
Π’Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ? ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΠΊΡΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² TS4? π€¦π½
@ivnnv ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ // @ts-expect-error
Π² TS 3.9, ΡΠΌ. Π·Π΄Π΅ΡΡ
@ndraiman @ts-expect-error
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΡΡΠΎΠΊ, Π½ΠΎ Π½Π΅ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΎΠ² , ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ
, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Β«ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΒ».
Π§ΡΠΎ Π΅ΡΠ΅ ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½ΠΎ? Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ?
ΠΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ β Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ any
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ ΠΈΡΠΏΡΡΡΠ²Π°Π΅ΡΠ΅ ΡΠΈΠΌΠΏΠ°ΡΠΈΠΈ ΠΊ ΡΡΡΠ΅ΡΠΈΠΊΠ΅ (ΠΊΠΎΡΠΎΡΠ°Ρ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ), Π½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ΅ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ.
Π£ Π»ΡΠ΄Π΅ΠΉ ΡΠ°Π·Π½ΡΠ΅ Π²Π·Π³Π»ΡΠ΄Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, Π° ΡΡΠΎ Π½Π΅Ρ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΌ Π»ΡΠ΄ΡΠΌ ΡΡΠΎ ΠΎΡΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΠΎΠ±ΡΠ΄Π΅Π½Π½ΡΠΌΠΈ Π΄Π΅Π»Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠΎΠ΄Π°.
ΠΠ΅Π½Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ ΠΈ ΡΡΡΠ°Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΠΌΠ΅ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΡΠΎΡΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ any
, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ°Π³ΡΠ±Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ (ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ). ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π² ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ ΠΌΠΎΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΠ΄ΠΈΠ½ ΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ Ρ JS Π½Π° TS, Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΡΠ°ΡΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, es2015, Π»ΠΈΠ±ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π° ΠΈ Ρ. Π΄.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π½Π° TypeScript. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π΅ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΠΎΡΡΡΡ Π±ΡΠ»Π΅Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΈΠ±ΠΎ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΡΠΈΠΏΠΎΠ².
ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΉΠ»Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π·Π½Π°Π΅Ρ ΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΅ΠΌΡ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ, ΠΈ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΈ Π½Π° ΠΏΠΎΡΠΎΠΌ.
// @ts-check
Π²Π²Π΅ΡΡ
Ρ, ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π±ΠΎΠ»ΡΡΠ΅ ΡΠΈΠΏΠΎΠ².// @ts-ignore-enable
... // @ts-ignore-disable
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ Π±Π»ΠΎΠΊΠΈΠ Π΅ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ JS Π² ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ» ESLint, ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅ΡΠ΅ΠΉ.
PS Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠΎΠ½ΡΠ», ΠΏΡΠΎΠ²Π΅ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π±ΠΎΠ»Π΅Π΅ 20 ΠΌΠΈΠ½ΡΡ, ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅) ΠΈΡΠΊΠ°Π»ΠΈ Ρ 2017 Π³ΠΎΠ΄Π°, ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΊΠΎΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡΡ 3 Π³ΠΎΠ΄Π°.
@weswigham @RyanCavanaugh
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ :+1:
ΠΡΠ΄Π°ΠΌ ΠΏΠ΅ΡΠ²Π΅Π½ΡΠ° Π² ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠΎ
@agusterodin Π’Π²ΠΎΡ ΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π»Π°.....
ΠΠ°Π΄Π½ΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΏΡΠΎΡΡΠΎ Π΄Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΈΠ°Ρ :)
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π»ΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ TS - ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π»ΠΎΠΌ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ @ts-ignore
, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ @ts-ignore-enable
(ΠΈΠ»ΠΈ @ts-ignore-start
, ΡΡΠΎ Π±Ρ Π½ΠΈ).
ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π°, Π·Π½Π°Π΅ΡΠ΅, ΠΏΠΎΡΠ»ΠΎΠ²ΠΈΡΠ° Π³ΠΎΠ²ΠΎΡΠΈΡ drinking posion to satisfie thirst
, Ρ Π·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ»ΠΎΡ
ΠΎΠΉ Π²ΡΠ±ΠΎΡ, Π½ΠΎ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ.
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠΎΡ PR Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ts-ignore-enable
ΠΈ ts-ignore-disable
.
... <-- this is normal
// @ts-ignore-enable
XXX <-- this is ignored
... <-- this is ignored
// @ts-ignore-enable
XXX <-- this is ignored
// @ts-ignore-enable <-- you could remove this line.
YYY <-- this is ignored
// @ts-ignore-disable
ZZZ <-- this is normal
// @ts-ignore-disable <-- you could remove this line.
// @ts-ignore-disable
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
@ts-expect-error
Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π΅
// @ts-ignore-enable
XXX <-- this is ignored
// @ts-expect-error <-- No error message. whatever next line has error or not.
YYY <-- this is ignored
// @ts-ignore-enable A
XXX <-- this is ignored
// @ts-ignore-enable B <-- you could remove this line.
YYY <-- this is ignored
// @ts-ignore-disable B
ZZZ <-- this is normal
// @ts-ignore-disable A <-- you could remove this line.
Π ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ², Π²Π΅ΡΠ½ΠΎ? :ΠΏΠΎΡ_ΡΠ»ΡΠ±ΠΊΠ°:
ΠΠ½Π΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΡΡΠ°ΡΡΠ΅ΡΠΎΠ², Π΄Π°ΠΆΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° SO, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Ρ Ρ
ΠΎΡΠ΅Π» Π±Ρ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π΅Π³ΠΎ Π² ΠΌΠΎΠ΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠΎΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ. Π― ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π»ΠΎΠ³ΠΈΠΊΡ. ΠΡΠΎ Π½Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Ρ
ΠΎΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°.
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° β ΡΡΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ, ΡΡΠΈΡΡΠ²Π°Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠ³Ρ @ts-ignore
ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ Π² Π±Π»ΠΎΠΊΠ΅.
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΈΠ΄ΡΡΠΈΡ
I'll just ignore this because it's easier
. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π»ΡΠ±ΠΎΠΉ, ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π±Π»ΠΎΠΊΠ° Π΄Π»Ρ drink poison to satisfy their thirst
, ΡΠΆΠ΅ ΠΏΡΠ΅Ρ ΠΊΠ°ΠΏΠ»ΠΈ ΡΠ΄Π° Ρ @ts-ignore
.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ @ts-nocheck
Π² ΡΠ°ΠΉΠ»Π°Ρ
.ts
, Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ @ts-check
Π² ΡΠ°ΠΉΠ»Π°Ρ
.ts
, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ/Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ²:
import fs from 'fs'
fs.readFileSync(32423) // type checking
// @ts-nocheck
fs.foobarbaz() // type checking is off
fs.__randomThing()
// @ts-check
fs.readFileSync(123) // now type checking again
ΠΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°Β». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² ΠΎΡ - Π΄ΠΎ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΠΠΠΠΠΠΠΠ Π― ΠΎΡΠΈΠ±ΡΡ, ΡΠΌ. https://github.com/microsoft/TypeScript/pull/40267#issuecomment -713840095 Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ styled-components
Π½Π° TypeScript Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° @ts-ignore
Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π΄ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° (ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅).ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π»ΠΎΠΊΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ TS, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ:
import styled from "styled-components";
import { Button } from "...";
// @ts-ignore here does not work
const StyledNavBar = styled.div`
${Button} {
margin: auto 0;
}
`;
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ: Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ TS, Ρ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΈΠΏΠΎΠ². ΠΠ°ΠΊΠ°Ρ ΡΠΎΠ³Π΄Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ?
@weswigham Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΡΠ΅ΡΠΈΠΊΠΈ? ΠΠ°ΠΆΠ΅ΡΡΡ, Π²Ρ Π½Π΅ ΠΈΡΠΏΡΡΡΠ²Π°Π΅ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΡΡΠ²ΡΡΠ²ΠΈΡ ΠΊ ΠΊΡΠΎΠ²ΠΎΡΠΎΡΠ°ΡΠΈΠΌ Π³Π»Π°Π·Π°ΠΌ; Π½ΠΎ Π΅ΡΡΡ Π»ΠΈ Ρ Π²Π°Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π»? ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π²ΡΠ³ΠΎΠ΄Ρ _Π²ΠΎΠΎΠ±ΡΠ΅_ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ? Π― ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π±Π»ΠΎΠΊΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ ΡΡΠ°Π²Π½ΠΈΠΌΠ° Ρ ESLint ΠΈ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΎΡ Π½Π΅Π΅?
ΠΠ°ΡΡΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ , ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ²ΠΎΠ² ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ; ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ΄Π°. Π Π°Π·Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° TS Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Β«ΠΏΠΎ ΡΡΡΠΈ, ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ Π²Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π² TypeScriptΒ». ΡΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΠΌ ΠΈ Π΄ΡΡΠ°ΡΠ΅ΠΌ TypeScript, ΠΈ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π»ΡΠ΄ΡΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ Π±Π°Π·Ρ, Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π»ΠΈΠ½ΡΠΈΠ½Π³Π°; Π² ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ, Π½ΠΎ Π½Π΅ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΠΈΠ΄Π΅ΡΠ΅ ΠΊ ΡΡΠΎΠΏΠΈΠΈ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ. @sandersn ΠΡ Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ Π½ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ΡΡ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠ²ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠΎ Π΄Π΅Π»Ρ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΠ²Π»ΡΠ΅ΡΠ΅ , ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΠ΅ΡΠΈΡ ΠΈΠ½Π°ΡΠ΅, ΡΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: Π·Π°ΠΊΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΠ½Π΅ ΠΆΠ°Π»Ρ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π°ΡΡ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π°ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ²Π°, ΡΡΠΎ Β«ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΏΠΎΠ·ΠΆΠ΅Β» β ΡΡΠΎ ΠΎΡΠ²Π΅Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΠΈΡΡΡΡ ΠΆΠΈΡΡ. ΠΡΠ±Π°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π² ΠΏΡΠΎΠ΄ΡΠΊΡ Π·Π°Π²ΡΡΠ°, Π° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΡΡΡΠΈ ΠΎΡΠΊΡΡΡΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡ Π·Π° Π½Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΡΠ³ΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ, ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΠΈ Π΄Π°Π»ΡΠ½ΠΎΠ²ΠΈΠ΄Π½ΡΠΉ.
ΠΡ ΡΠ°ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΠΈΡ ΠΎΡΠ·ΡΠ²ΠΎΠ², ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠ΅ΠΉ, ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΡΠ΅Π½ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ·ΠΆΠ΅. Π’Π°ΠΊΠΎΠ²Π° ΠΏΡΠΈΡΠΎΠ΄Π° Β«ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅Β», ΠΈ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΠΈΡ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π΄Π΅ΡΡ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ·ΡΠ²Ρ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Ρ ΡΠ΅ΠΌ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π»ΡΠ΄ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΉ, ΡΠ΅ΠΌ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ, ΡΠΎΡΠ½ΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Π’ΠΎΠ½ Π·Π΄Π΅ΡΡ, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΊΠ»ΠΎΠ½Π΅Π½ ΠΊ Π²ΡΠ°ΠΆΠ΄Π΅Π±Π½ΠΎΠΌΡ ΠΈ Π»ΠΈΡΠ½ΠΎΠΌΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠΎΠ΄ΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊ ΡΠ»ΡΡΠΈΠΌΠ°ΡΡΠΌΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, Π³Π΄Π΅ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ΅Π½Π½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°ΠΌΠΈ.
ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ»ΡΡΠΈΠΌΠ°ΡΡΠΌ. Π― Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ΅Π½, ΡΠ²ΠΈΠ΄Π΅Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ PR, Π½ΠΎ Π½Π΅ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ. Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½Π΅ Π²Π½ΠΎΡΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°.
Π― ΠΌΠΎΠ³Ρ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ. Π― ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ·ΡΠ²Ρ ΠΈ ΡΠΏΡΠΎΡΠΈΠ», ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ ΠΎΡΠ·ΡΠ²Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠ²Π΅ΡΠ°. ΠΠ°ΠΆΠ΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠΈΠΌ ΡΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, ΠΌΠΎΠΉ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΡΠ» ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ _ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ_ ΠΎΡΠ²Π΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 700 ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π°ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ, Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ. Π― Π½Π΅ Π²Π΅ΡΡ, ΡΡΠΎ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅, Π½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π° Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ² Π½Π΅Π΅. Π― ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π²ΡΠ΅ ΡΡΠΈ Π²Π΅ΡΠΈ. ΠΠΏΡΠΎΡΠ΅ΠΌ, Ρ Π½Π΅ ΠΎΠ± ΡΡΠΎΠΌ. Π― Ρ ΠΎΡΡ Π½Π°ΡΠ°ΡΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ, Π½ΠΎ ΠΌΠ΅Π½Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ.
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΉ ΠΎΡΠ·ΡΠ² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΈ, ΡΡΠΈΡΡΠ²Π°Ρ Π΅Π³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ, Π½Π° Π½Π΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ. ΠΡΠΎ Π½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ±ΠΎΠΉ Π² Π½Π°Π±ΠΎΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎ ΡΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ PR, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, Π»ΡΠ΄ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈ Ρ ΡΠΏΡΠΎΡΠΈΠ», ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. Π― ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠ½ΠΊΡΠ°ΠΌΠΈ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈ Π²ΠΎΠ·ΡΠ°ΠΆΠ°Π» ΠΏΡΠΎΡΠΈΠ² ΡΡΠΎΠ³ΠΎ, Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ PR ΠΈ Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Β«Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄ΡΠΌΠ°Π΅ΠΌΒ», Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ.
ΠΠΎΡ Π³Π΄Π΅ ΠΌΠΎΠ΅ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ. ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΌΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΡΠ·ΡΠ²Ρ ΠΈ ΠΎΡΠ·ΡΠ²Ρ Π΄ΡΡΠ³ΠΈΡ Π»ΡΠ΄Π΅ΠΉ.
ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΏΠΎΠΊΠ° ΠΊΡΠΎ-ΡΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ _ΠΏΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΠΆΠ΅Π»Π°Π½ΠΈΡ_, ΠΌΡ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ. ΠΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ»ΡΡΠΈΠΌΠ°ΡΡΠΌ.
Π― ΠΏΡΠΈΠ²Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ² ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ @weswigham , ΠΏΡΠΈΠ²Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΆΠ΄Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π½ΠΈΡ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΡΡ ΡΠ²Π½ΠΎ ΡΠ°ΡΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΈ Π½Π΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΌ.
ΠΠ°ΠΊ Π½Π°ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΎΡΡΡΠ΄Π°? ΠΠ°ΠΊΠΈΡ ΠΎΡΠ·ΡΠ²ΠΎΠ² Ρ ΠΎΡΠ΅Π»Π° Π±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°? ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΊΡΡΡΡΡ Π·Π° Β«ΠΡ ΡΠ°ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΠΈΡ ΠΎΡΠ·ΡΠ²ΠΎΠ², ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠ΅ΠΉ, ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ²Β». ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ·ΡΠ², Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΠ»Π° _ΡΠΎΠ²ΡΠ΅ΠΌ_.
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ, ΡΡΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΡΠ²Π»Π΅ΡΠ΅ΠΌ ΠΌΠ½Π΅Π½ΠΈΡ Π»ΡΠ΄Π΅ΠΉ ΠΎΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠ° Π³ΠΎΡΠΎΠ²Π° ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ. Π‘Π΅ΠΉΡΠ°Ρ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ½ΡΠ»Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅/ΠΎΡΠ²Π΅Ρ (Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ) ΠΈ ΠΎΠ±Π½Π°ΡΠΎΠ΄ΠΎΠ²Π°Π»Π° Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ½Π΅, ΡΡΠΎ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ _Π»ΡΠ±ΠΎΠΉ_ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ TypeScript, Π½ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎΠΉ.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ( @ts-ignore-start+@ts-ignore-end
) ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /* @ts-ignore */
) @ts-ignore
.
ΠΠΊΡΡΠΆΠ°ΡΡΠ°Ρ ΠΎΠ±ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
"noUnusedParameters": true
require-jsdoc
.type Data = Record<string, unknown>;
type PrepareSettings = Record<string, unknown>;
/**
* This is base class that will be inherited.
*/
class SuperClass {
/**
* Prepare data for further usage.
*
* <strong i="16">@param</strong> data
* Data that should be prepared.
* <strong i="17">@param</strong> settings
* Operation settings.
*/
prepareData(data: Data, settings: PrepareSettings): Data | undefined {
return data;
}
// Some additional methods...
}
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ TypeScript Π²ΡΠ΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: 'settings' is declared but its value is never read.(6133)
.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² @ts-ignore
ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
*/ // @ts-ignore
prepareData(data: Data, settings: PrepareSettings): Data | undefined {
ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ESLint Π±ΡΠ΄Π΅Ρ ΠΆΠ°Π»ΠΎΠ²Π°ΡΡΡΡ Π½Π° Missing JSDoc comment
.
ΠΡΠ°ΠΊ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
*/ // @ts-ignore
prepareData(data: Data, settings: PrepareSettings): Data | undefined { // eslint-disable-line require-jsdoc
Π§ΡΠΎ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΈ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΠΎ.
@RyanCavanaugh @weswigham @sandersn
ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Ρ ΠΎΡΠ΅Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΡΡΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ TypeScript. ΠΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°, ΠΈ ΡΠ΅Π³ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ TypeScript β Π½Π΅Π»Π΅Π³ΠΊΠΈΠΉ ΠΏΠΎΠ΄Π²ΠΈΠ³. ΠΠ΅Π»Π° ΡΡΠ΅Π±ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΡΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Ρ Π±ΡΠ΄Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ. Π― Π½Π΅ ΡΠ΄Π°ΠΌΡΡ, ΠΏΠΎΠΊΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠΎ, ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π²Π»ΠΈΡΡΡ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Ρ !@#).
ΠΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ²ΠΈΠΈ ΡΡΠΈΡ
Π»Π΅Ρ, Ρ
ΠΎΡΡ Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» ΠΎΡΠ°ΡΠ°ΡΠ΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΡΠ°ΠΌ Π½Π΅Ρ, Ρ Π»ΠΈΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΡΠΌΡΡΠ»ΠΈΠ» Π΅Π³ΠΎ... ΠΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½Π°Ρ ΠΊΡΡΠ° @ts-ignore
, Π²Ρ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΡΡΠ°ΡΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ
ΡΠΈΠΏΠΎΠ². ΠΡ Π²ΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π½ΠΈΠ²Ρ ΠΈ Ρ
ΠΎΡΠΈΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, Π½ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ², ΡΠ΅ΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ @ts-ignore
Π² Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΡΡΠΎΡ Π±Π°Π»Π°Π½Ρ ΠΠΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠ΅Π½, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ Π±ΡΠ΄ΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ @ts-ignore-enable, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ
Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ°ΠΌ.
ΠΡΡΠ°ΡΠΈ, Ρ ΠΎΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ π ΡΠ΅Π°ΠΊΡΠΈΠΉ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, - ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π²Π·ΡΡΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π»ΡΠ΄Π΅ΠΉ ΠΌΠΎΠ³ΡΡ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π±Π΅Π· ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΠΌΠΎΠ»ΡΠ°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΡ Π·Π΄Π΅ΡΡ Π½Π΅Ρ.
@JerryGreen Π‘ΡΡΠ»Π°ΡΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Ρ ΡΠΊΠ°Π·Π°Π» ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π‘ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»ΡΠ΄ΠΈ ΡΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅Ρ ΠΏΡΠΈΡΠΈΠ½ Π²Π½Π΅Π΄ΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄Π°, ΡΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ _none_ .
ΠΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ @ts-ignore
, Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΡΠΎΠ³ΠΎ, ΠΈ Π»ΡΠ΄ΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΊΠΎΠ΄, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ @ts-ignore
, ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠ»ΠΎΡ
ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠ΅Π½Π΅Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.
Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ΅Π½ ΠΎΡΠ²Π΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ TypeScript.
@JerryGreen Π‘ΡΡΠ»Π°ΡΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Ρ ΡΠΊΠ°Π·Π°Π» ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π‘ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»ΡΠ΄ΠΈ ΡΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅Ρ ΠΏΡΠΈΡΠΈΠ½ Π²Π½Π΅Π΄ΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄Π°, ΡΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ _none_ .
ΠΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ
@ts-ignore
, Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΡΠΎΠ³ΠΎ, ΠΈ Π»ΡΠ΄ΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠ΄, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ@ts-ignore
, ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠ»ΠΎΡ ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠ΅Π½Π΅Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ΅Π½ ΠΎΡΠ²Π΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ TypeScript.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ³Π½ΠΎΡ @TS. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠΏΠΎΡΡ CDN Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ node_ The. Π€Π°ΠΉΠ» TS Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
@ L-Hknu Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ΄ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ESLint.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π° Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ , ΠΊΡΠΎΠΌΠ΅ ΡΠ΅Ρ , Π³Π΄Π΅ ΠΎΠ½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ½Π΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
Π― Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π― ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΠΏΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ» Π±Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠΎΠ². ΠΠ½Π΅ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π²ΠΎΠΉΠ΄ΡΡ Π² Π΄Π²Π΅ΡΡ, Π½Π°Π±ΡΠ°Π² ΡΠ΅ΠΊΡΡ; ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΈΡΡΠ²Π°Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΡΠ΅ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠΎΠΉ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ» Π±Ρ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
@ L-Hknu Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ΄ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ESLint.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π° Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ , ΠΊΡΠΎΠΌΠ΅ ΡΠ΅Ρ , Π³Π΄Π΅ ΠΎΠ½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ½Π΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
Π― Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π― ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΠΏΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ» Π±Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠΎΠ². ΠΠ½Π΅ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π²ΠΎΠΉΠ΄ΡΡ Π² Π΄Π²Π΅ΡΡ, Π½Π°Π±ΡΠ°Π² ΡΠ΅ΠΊΡΡ; ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΈΡΡΠ²Π°Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΡΠ΅ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ
β40267
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ: https://github.com/Microsoft/TypeScript/issues/19139
@marianturchyn ΡΡΠΎ Π½Π΅ tslint.