typescript - deptno/deptno.github.io GitHub Wiki
node μ€νμμ sourcemap μ νμ±ν ν΄μ νμ μ€ν¬λ¦½νΈ μ½λλ‘ νμΈμ΄ κ°λ₯νλλ‘νλ€
tsc --sourceMap=true
node --enable-source-maps [source.js]
vitest ν μ€νΈ μ€μ ts μ λΉλλ js κ° ν¨κ» μλ κ²½μ° js λ₯Ό λ¨Όμ μ½λκ²½μ°κ° μμ΄μ build λ νμΌ μ κ±° ν ν μ€νΈκ° νμνλ€.
tsc --build --clean
void
λ 곡νν κ°μΌλ‘ μ·¨κΈλλ€. μ¦ κ°μ΄ μλ€. λ¬΄μ¨ κ°μΈμ§λ λͺ¨λ₯΄κ² μΌλ μλ―Έ μλ 무μΈκ°λ₯Ό 리ν΄νλ©° μ΄λ unknown
κ³Ό λΉμ·ν μ±μ§μ κ°μ§λ€.
undefined
λ undefined
λ‘ μ·¨κΈλλ€
const f1 = () => undefined {
return console.log()
}
-
undefined
λundefined
νμ μ κ°μ§λ€ - console.log μ λ°ν κ°μ
undefined
μ΄μ§λ§ νμ μvoid
μ κ°μ§κΈ° λλ¬Έμ νμ μλ¬κ° λ°μνλ€ -
unknown
νμ κ³Ό λΉμ·νμ§λ§ λ€λ§ λͺ μμ μΌλ‘ μλ―Έκ° μλ κ°μ νμ μ λλ‘ μ΄ν΄νλ€
/app/.pnp.cjs:10322
return Object.defineProperties(new Error(message), {
^
Error: Qualified path resolution failed: we looked for the following paths, but none could be accessed.
Source path: /app/packages/lib/src/delay
Not found: /app/packages/lib/src/delay
at makeError (/app/.pnp.cjs:10322:34)
at resolveUnqualified (/app/.pnp.cjs:11847:13)
at resolveRequest (/app/.pnp.cjs:11888:14)
at Object.resolveRequest (/app/.pnp.cjs:11944:26)
at resolve$1 (file:///app/.pnp.loader.mjs:1991:25)
at nextResolve (node:internal/modules/esm/loader:163:28)
at ESMLoader.resolve (node:internal/modules/esm/loader:838:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
at link (node:internal/modules/esm/module_job:76:36)
delay.js κ° μλ delay λ₯Ό λͺ»μ°Ύκ² λ€κ³ λμ€λ μλ¬ μ»΄νμΌ κ²°κ³Όκ° κ·Έλ¬ν κ²μΈλ° λκ°μ§ μκ°μ΄ λ¬λλ° μΌλ¨ λλ λ°©ν₯μΌλ‘ μ²λ¦¬
-
module λ‘ μ»΄νμΌ λμμΌλ
.mjs
λ₯Ό μ°Ύλ κ²μ΄ μλμ§ ν΄μ νμΌ λͺ μ λ³κ²½ν΄λ³Έλ€. -
import
ꡬ문 μ체μ.js
νμ₯μλ₯Ό λΆμ¬μ μν¬νΈνλ€ -
TODO: μκ°ν΄λ³΄λ
module
컨νΌκ·Έκ° μΌμ§λ©΄ directory import λ₯Όνκ³ κ·Έ μμμindex.js
μν¬νΈνλ ꡬ쑰μΈκ° μΆκΈ°λ μΌλ¨ νμλ‘ ν΄κ²° -
module: es2022
import { a } from './module'
- expected
import { a } from './module.js'
- actual
import { a } from './module'
- solution
import { a } from './module.js'