6.3.1
4.0.3
2.0.0
μ΄κ²μ protractor/globals
κ°μ Έμ€λ μμ€ νμΌμ΄ μλ typescript νλ‘μ νΈμλ§ ν΄λΉλ©λλ€. νΉν protractor/globals
κ°μ Έμ¬ λ NPM 릴리μ€μλ ν΄λΉ μ μ νμΌ( globals.d.ts
) λμ globals.ts
νμΌμ΄ ν¬ν¨λμ΄ μκΈ° λλ¬Έμ typescript μ»΄νμΌλ¬λ μλΉνλ typescript νλ‘μ νΈμ κ³΅ν΅ μμ€ λ£¨νΈλ₯Ό κ³μ°ν©λλ€. κ°λκΈ° global.ts
μ’
μμ±( node_modules/protractor
)κ³Ό μλΉ νλ‘μ νΈμ μμ€κ° ν¬ν¨λ λͺ¨λ μμΉ(μ: src/test/**/*.ts
) μ¬μ΄μ κ³΅ν΅ κ²½λ‘λ‘ μ΄λν©λλ€. μ΄κ²μ μ»΄νμΌλ¬κ° λͺ¨λ μμ λλ ν λ¦¬κ° ν¬ν¨λ μμ€ νμΌμ μΆλ ₯νλλ‘ ν©λλ€.
μ΄κ²μ μμ ν νμ μ€ν¬λ¦½νΈ μ»΄νμΌλ¬κ° μ»΄νμΌλ νμΌμ μΆλ ₯νλ λ¬Έμ μ λλ€. μ»΄νμΌμ μ λκ³ κ°λκΈ°λ μμλλ‘ (κ΅μ₯ν) μλͺ¨λ©λλ€.
λ΄κ° μλͺ» μ€λͺ νκ³ μλ μλ리μ€λ₯Ό λ μ μ€λͺ νλ €λ©΄ μ΄ μμ νλ‘μ νΈ λ₯Ό μ°Έμ‘°νμΈμ.
λλ μ¬κΈ°μ μ΄κ²μ ν΄κ²°νλ κ²μ΄ λ κ°μ§μ μ‘°ν©μ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€.
globals.ts
νμΌμ΄ μ»΄νμΌλ λ μ μ νμΌμ΄ μμ±λλλ‘ νμ¬ κΏκΊ½κΏκΊ½ μ»΄νμΌ νλ‘μΈμ€λ₯Ό μ
λ°μ΄νΈν©λλ€. κ·Έλ¦¬κ³ globals.ts
νμΌμ μ κ±°νκ³ μ»΄νμΌλ μλ°μ€ν¬λ¦½νΈ νμΌκ³Ό ν΄λΉ μ μ νμΌλ§ λ¨κΉλλ€.μ΄κ²μ΄ νλΉνλ€λ©΄ μ루μ
μ 첫 λ²μ§Έ λΆλΆμ μ²λ¦¬νκΈ° μν΄ ν 리νμ€νΈλ₯Ό μ μΆνκ² μ΅λλ€. NPMμ λν λ¦΄λ¦¬μ€ νλ‘μΈμ€κ° μ¬μ ν νλ‘μ νΈμ λ¦΄λ¦¬μ€ λ¬Έμλ₯Ό λ°λ₯΄λ κ²½μ° globals.ts
νμΌμ μ κ±°νλ λ¨κ³λ‘ μ΄λ₯Ό μ
λ°μ΄νΈν μλ μμ§λ§ μ€μ λ‘ λ¦΄λ¦¬μ€λ₯Ό μννλ μ¬λμ΄ λ μ μ²λ¦¬ν μ μμ΅λλ€.
λλ μ΄κ²μ μκ°ν΄ 보μκ³ Typescript μ»΄νμΌλ¬κ° μμλλ‘ μλνκ³ μλ€κ³ μκ°νμ§λ§ μ¬μ ν Typescriptμ μ μ΄ μκΈ° λλ¬Έμ λμνμ§ μμΌλ©΄ μλ €μ£Όμμμ€.
(νΈμ§: λ²κ·Έ ν νλ¦Ώμ λ°μνλλ‘ νμ μ λ°μ΄νΈ)
@tmeneau μ΄λ² νΈμ κ°μ¬λ립λλ€: github μμ κ° μ λ§ μ’μμ΅λλ€... π π π
λ°λΌμ μ΄κ²μ outDirμ μ¬μ©ν λμ λΆμμ©μ
λλ€. μλ₯Ό λ€μ΄ outDir
κ° output
λ‘ μ€μ λλ©΄ νΈλμ€νμΌλ νμΌ μΈμλ output/node_modules/protractor/globals.js
λ νΈλμ€νμΌλ©λλ€. (λΉμ) λͺ κ°μ§ μ€νμ ν ν TypeScript νμΌμ΄ μμΌλ©΄ νμΌ νμμ κ°μ Έμ¬ μ μκΈ° λλ¬Έμ μλ global.ts νμΌμ ν¬ν¨νμ΅λλ€.
μ μμ μ΄ν΄λ³΄λ €λ©΄:
exampleTypescript
μ€νν ν μ΄κ²μ΄ μλνλ κ²μΌλ‘ 보μ
λλ€. ν΄λΉ νμΌμ κ²μνμ§ μκ³ κ°λκΈ°λ₯Ό TypeScript 2λ‘ μ
κ·Έλ μ΄λνκΈ° μν΄ .npmignoreλ₯Ό μ
λ°μ΄νΈνκ³ μμ΅λλ€. μ°Έμ‘°: https://github.com/angular/protractor/pull/3485@cnishina μμ κ° λμμ΄ global.ts
νμΌμ μ κ±°νμ§λ§ ν΄λΉ globals.d.ts
μ μΈμ΄ μμ κ²μ
λλ€. νλ‘μ νΈλ₯Ό μλΉνκΈ° μν΄ protractor/globals
importλ₯Ό typescript μ»΄νμΌλ¬μ 보μ΄μ§ μκ² λ§λμκ² μ΅λκΉ?
λ°λΌμ λ΄ μ μμ 첫 λ²μ§Έ λΆλΆμ globals.d.ts
μ μΈμ μν΄ μ»΄νμΌλ globals.js
λ₯Ό μ κ±°νλ κ²μ΄ μλλΌ NPM ν¨ν€μ§μ λ€μμ ν¬ν¨νλλ‘ λ λ€ κ°λ κ²μ΄μμ΅λλ€.
globals.ts
μμ€ νμΌ μμ΄.
global.ts
νμΌμ μ»΄νμΌν λ --declaration
νλκ·Έμ ν¨κ» tscλ₯Ό μ¬μ©νμ¬ μ΄κ²μ΄ λ¬μ±λ μ μλ€κ³ μκ°ν©λλ€. μλ₯Ό λ€μ΄, μλμ κ°μ΄ tsc:globals gulp μμ
μ λ³κ²½νλ©΄ νΈλ¦μ μνν΄μΌ νμ§λ§ package.jsonμλ μ
λ°μ΄νΈν΄μΌ ν μ μλ tsc
λ° tsc:w
μμ
μ΄ μμμ μμμ΅λλ€. λΉμ μ μ»΄νμΌμ μμΌλ‘ μμ νμ§ μλ κ²½μ°:
gulp.task('tsc:globals', function(done) {
runSpawn(done, 'node', ['node_modules/typescript/bin/tsc', '--declaration', 'globals.ts'],
'ignore');
});
λΉ μ§ κ²μ΄ μμΌλ©΄ μλ €μ£ΌμΈμ. λΉ λ₯Έ μμ μ λ€μ ν λ² κ°μ¬λ립λλ€! 그건 κ·Έλ κ³ , Typescriptμ ν¨κ» κ°λκΈ°λ₯Ό μ¬μ©νλ κ²μ μ λ§ λλ¨ν μΌμ λλ€!
μ... π globals.d.ts
λ protractor/globals
κ°μ Έμ€κΈ°κ° μλνλλ‘ νλ €λ©΄ μ¬μ ν μμ΄μΌ ν©λλ€. PRμ μ
λ°μ΄νΈνμ΅λλ€. κ°μ¬ ν΄μ!
κ°μ₯ μ μ©ν λκΈ
@cnishina μμ κ° λμμ΄
global.ts
νμΌμ μ κ±°νμ§λ§ ν΄λΉglobals.d.ts
μ μΈμ΄ μμ κ²μ λλ€. νλ‘μ νΈλ₯Ό μλΉνκΈ° μν΄protractor/globals
importλ₯Ό typescript μ»΄νμΌλ¬μ 보μ΄μ§ μκ² λ§λμκ² μ΅λκΉ?λ°λΌμ λ΄ μ μμ 첫 λ²μ§Έ λΆλΆμ
globals.d.ts
μ μΈμ μν΄ μ»΄νμΌλglobals.js
λ₯Ό μ κ±°νλ κ²μ΄ μλλΌ NPM ν¨ν€μ§μ λ€μμ ν¬ν¨νλλ‘ λ λ€ κ°λ κ²μ΄μμ΅λλ€.globals.ts
μμ€ νμΌ μμ΄.global.ts
νμΌμ μ»΄νμΌν λ--declaration
νλκ·Έμ ν¨κ» tscλ₯Ό μ¬μ©νμ¬ μ΄κ²μ΄ λ¬μ±λ μ μλ€κ³ μκ°ν©λλ€. μλ₯Ό λ€μ΄, μλμ κ°μ΄ tsc:globals gulp μμ μ λ³κ²½νλ©΄ νΈλ¦μ μνν΄μΌ νμ§λ§ package.jsonμλ μ λ°μ΄νΈν΄μΌ ν μ μλtsc
λ°tsc:w
μμ μ΄ μμμ μμμ΅λλ€. λΉμ μ μ»΄νμΌμ μμΌλ‘ μμ νμ§ μλ κ²½μ°:λΉ μ§ κ²μ΄ μμΌλ©΄ μλ €μ£ΌμΈμ. λΉ λ₯Έ μμ μ λ€μ ν λ² κ°μ¬λ립λλ€! 그건 κ·Έλ κ³ , Typescriptμ ν¨κ» κ°λκΈ°λ₯Ό μ¬μ©νλ κ²μ μ λ§ λλ¨ν μΌμ λλ€!