7.0.8๋ถํฐ ์ฌ์ฉ ์
node_modules/@types/node/index.d.ts(50,14): ์ค๋ฅ TS2687: '๋ฐ๋ณต์'์ ๋ชจ๋ ์ ์ธ์๋ ๋์ผํ ์์ ์๊ฐ ์์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ์ tsconfig :
{
"compilerOptions": {
"target": "es5",
"module": "amd",
"sourceMap": true,
"strictNullChecks": true,
"noImplicitAny": false,
"noImplicitReturns": true,
"noImplicitThis": false,
"noUnusedParameters": false,
"noUnusedLocals": true,
"experimentalDecorators": false,
"emitDecoratorMetadata": false,
"removeComments": true,
"outFile": "../js/ts.js"
},
"exclude": [
"node_modules",
"../node_modules",
"../../node_modules"
]
}
@types/node ๋ผ์ธ 50๊ณผ @types/core-js, ๋ผ์ธ 504(๋ฐ๋ณต์:Symbol) ์ฌ์ด์ ์ถฉ๋์ด ์์ต๋๋ค.
์ ์๊ฒ๋ ๊ฐ์ ๋ฌธ์ ์
๋๋ค. tsconfig:
{
"compilerOptions": {
"allowJs": false,
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noEmitHelpers": true,
"noUnusedLocals": true,
"noImplicitReturns": true,
"noUnusedParameters": true,
"baseUrl": ".",
"paths": {
"app": [ "src/app" ],
"app/*": [ "src/app/*" ],
"core": [ "src/core" ],
"core/*": [ "src/core/*" ]
},
"typeRoots": [
"node_modules/@types"
]
},
"compileOnSave": false,
"buildOnSave": false,
"exclude": [
"node_modules"
]
}
๋ถ๋ช
ํ iterator
์์ readonly
์์ ์๋ ์ค์์์ต๋๋ค. ๋๋ core-js๊ฐ ์๋ชป๋์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๋ก ๋ชจ๋ ๋น๋๊ฐ ๋ฐค์ ์ค๋จ๋์์ต๋๋ค.
์ฐ๋ฆฌ์ tsconfig
{
"compilerOptions": {
"target": "ES5",
"sourceMap": true,
"typeRoots": [ "node_modules/@types/" ],
"noUnusedLocals": true,
"noUnusedParameters": true,
"declaration": false,
"watch": true
},
"compileOnSave": true,
"include": [
"src/**/*"
],
"exclude": [
".vscode",
"node_modules",
"dist"
]
}
๋ํ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋น๋ถ๊ฐ @types/node ๋ฒ์ ์ 7.0.7๋ก ์์ ํ์ง๋ง ์ฌ์ ํ ์๋ํฉ๋๋ค. ์ฃผ๋ก ๋ฌธ์ ๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ๊ฒ์ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊นจ๋จ๋ ธ๋ค.
+1 ๊ฐ์ ๋ฌธ์ .
์ฌ๊ธฐ์ ์ ํํ ๊ฐ์ ๊ฒ์ด ์์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง,
์ผ์์ ์ผ๋ก 7.0.7์ ๊ณ ์ ๋์์ต๋๋ค.
+1 ๋์ผ
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@types/node": "7.0.7"
๋ค์ ์ ํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
์ด์ core-js๋ฅผ ์ ๊ฑฐํ๊ณ @types/ [email protected] ๋ฐ tsconfig: "lib": ["es7"]์ ์ฌ์ฉํ์ฌ ์๋ํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. @types/node๋ก ๋ค์ ์ ํํ์ญ์์ค.": "7.0.7"์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์งํ ์ํฉ์ ์ถ์ ํ๋๋ก ํ์๋์์ต๋๋ค.
#15108๋ก ์์ ํด์ผ ํฉ๋๋ค. Iterator
์ ๊ฐ์ ์ ํ์ ๋ ์ด์ core-js
์ ๊ณต๋์ง ์์ผ๋ฏ๋ก tsconfig์์ "lib"๋ฅผ ๋ณ๊ฒฝํด์ผ ํ ์๋ ์์ต๋๋ค.
@andy-ms "lib"๋ฅผ ๋ฌด์์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ค๊ณ ์ ์ํ๊ณ ์์ต๋๊น?
@baywet lib
๋ ํ๋ก์ ํธ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์๋ฅผ ๋ค์ด ๋ด ํ๋ก์ ํธ๋ ES5๋ก ์ปดํ์ผ๋์ง๋ง ์ผ๋ถ ES6 ๊ธฐ๋ฅ์ ํด๋ฆฌํํ๋ ค๋ฉด core-js
๊ฐ ํ์ํฉ๋๋ค. ์ด๊ฒ์ ๋ด lib
.
"lib": [
"es6"
"dom"
]
์ปดํ์ผ๋ฌ ์ต์
๋ฌธ์ ์์ --lib
๋ฅผ ํ์ธํ์ญ์์ค.
@types/node": "7.0.7"์ ๋ฒ์ ์ ์ ํํ ์ด๋ค ํ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ๋์?
๋๋ ํ ๋ฆฌ ๊ฒ์์ ํตํด ๋ค์๊ณผ ๊ฐ์ ํญ๋ชฉ์ด 2๊ฐ ์์์ ์ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ์ ๋ณ๊ฒฝํฉ๋๊น, ์๋๋ฉด ๋ ๋ค ๋ณ๊ฒฝํฉ๋๊น?
๋ ๋ค node_modules
์ ์์ผ๋ฏ๋ก ์ฒดํฌ์ธ๋์ง ์์์ผ๋ฉฐ ์ง์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ฌ์ฉํ๋ ์ค์น ํ๋ก๊ทธ๋จ ๋๊ตฌ(์: npm
๋๋ jspm
)์๋ ํจํค์ง๋ฅผ ์ค์นํ๊ณ ๋ฒ์ ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ๋ ๋ฌธ์ ๊ฐ ์์ด์ผ
์์ ๋
ผ์์์ ์ ์ ์๋ฏ์ด, ๊ทธ๊ฒ์ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค, ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ --lib
๋น์ ์ tsconfig.json
.
์ ์ ํ ์ค์น๋ ์ต์ ๋ฒ์ ์ ์ป๊ธฐ ์ํด package.json์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ก ^๊ฐ ์๋ ๋ฒ์ ์ ๊ฐ๊ฒ ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ธ๊ธ๋ ๊ฒ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก @types ๋ฐ libs ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ๋จผ์ ๋ชจ๋ node_modules ๋๋ ํฐ๋ฆฌ(์ฃผ ํ๋ก์ ํธ ๊ฒฝ๋ก, ํด๋ผ์ด์ธํธ ๊ฒฝ๋ก ๋ฑ)๋ฅผ ์ ๊ฑฐํ ๋ค์ ๊ด๋ จ ๋๋ ํฐ๋ฆฌ๋ง๋ค npm install์ ์ํํ ๋ค์ tsc๋ฅผ ๋ค์ ์์ํฉ๋๋ค( ์ผ๋ฐ์ ์ผ๋ก grunt ๋๋ ๋๋ฑํ ๋น๋ ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒ์ด ์ ์์ธ์ง ํ์ธํฉ๋๋ค.
์ฌ์ ํ๋ก๋์
๋ฐ ํ๋ก๋์
ํ๊ฒฝ์์ ๋์ผํ ์์
์ ์ํํด์ผ ํ ์๋ ์์ต๋๋ค.
@harrietsCreativeDabblets ํ๋ก์ ํธ์ devDependencies( ng-start/package.json
์ด๋ด)์ ๋ค์์ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค.
"@types/node": "7.0.7"
์ด ๋ง์กฑ ์ด๋ jspm-config
์ด ๋ฒ์ ๋ณด์ฅํฉ๋๋ค semver @types/node
๋ก ๊ณ ์ ์ป์ 7.0.7
. ์ด๊ฒ์ด jspm-config
semver๋ฅผ ์ถฉ์กฑํ์ง ์์ผ๋ฉด ์ค๋ณต ์ ์๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ๋ก์ ํธ package.json์ ์์ ํ ํ node_modules
๋ฐ npm i
๋ฅผ ์ญ์ ํ๋์ง ํ์ธํ์ญ์์ค.
@pe8ter ์ ๋ฐ ๊ฐ์ฌํฉ๋๋ค. ๊ฒฐ๊ตญ @types/ node @
"lib": [
"dom",
"dom.iterable",
"es2015",
"scripthost"
],
์ฌ๊ธฐ์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. 7.0.7 ๋ฒ์ ๋ค์ด๊ทธ๋ ์ด๋๋ก ํด๊ฒฐ
์ฌ๊ธฐ์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. 7.0.7 ๋ฒ์ ๋ค์ด๊ทธ๋ ์ด๋๋ก ํด๊ฒฐ
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ง ์๊ณ ๋ฒ์ 7.0.7์ ์์ํ ์ฌ์ฉํ๋ ๊ฒ์ ๋ ผ๋ฆฌ์ ์ด์ง ์์ต๋๋ค. ๊ฒ๋ค๊ฐ ๋ฒ์ ์ ๊ณ ์ ํด๋ ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ์ด ์ค๋ ๋์๋ ์๋ฌด๊ฒ๋ ์์ต๋๋ค.
๋น์ ์ ํ์ดํ ๋ผ์ดํฐ ๋ฒ์ ์์ ๋ฌด์์
๋๊น @loctrice node_modules/typescript/package.json
์์ ๋
ธ๋ ๋ฒ์ node_modules/@types/node/package.json
?
typescript๋ 2.3.4์ด๊ณ ๋ ธ๋๋ 8.0.5์ ๋๋ค.
@loctrice ํด๋น ๋ฒ์ ์์๋ ์ด๊ฒ์ ์ฌํํ ์ ์์ต๋๋ค. ๋๋ ๋น ๋๋ ํ ๋ฆฌ์ ์๊ณ ๋ฐฉ๊ธ ์ค์นํ์ต๋๋ค. tsconfig
๋ฌด์์ด ๋ค์ด ์์ต๋๊น? ๋น์ ์ ์์ ์ฌํ์ ์ป์ ์ ์์ต๋๊น?
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋น์ ์ ์ฐพ์ผ์๋ 8.0.50
๋์ 8.0.5
? ๋ ๋ค ํ
์คํธํ์ง๋ง ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค.
๋ด tsconfig๊ฐ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ ์ด์ ํ์ดํ์์ @types๋ก ์ ๊ทธ๋ ์ด๋ํ ํ ์ด๊ฒ์ ๋ํด
{
"์ปดํ์ผ๋ฌ ์ต์
": {
"๋์": "es5",
"๋ชจ๋": "์์คํ
",
"moduleResolution": "๋
ธ๋",
"sourceMap": ๊ฑฐ์ง,
"emitDecoratorMetadata": ์ฐธ,
"์คํ์ ์ธ ๋ฐ์ฝ๋ ์ดํฐ": true,
"๋๊ธ ์ ๊ฑฐ": ์ฐธ,
"noImplicitAny": ๊ฑฐ์ง,
"์ ํ๋ฃจํธ": [
"./node_modules/@types"
],
"lib": [
"es2015",
"es6",
"๋",
"dom.iterable"
]
},
์ค์น๋ ๋ฒ์ ๊ณผ tsconfig.json
์ค๋ฅ๋ฅผ ์ฌํํ ์ ์์ต๋๋ค.
}
๋์ ์ถ๊ฐnpm install @types/[email protected] [email protected]
echo "" > a.ts
node node_modules/typescript/lib/tsc.js
์ด๊ฒ์ ๋ด๊ฐ ๋ฌธ์ ํด๊ฒฐ์ ์์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ด angular2 ํ๋ก์ ํธ์์ ๋ฌธ์ ๊ฐ ์๋ ์์น๋ฅผ ํ์ธํ๊ธฐ ์ํด ํ ๋ฒ์ ํ๋์ฉ ์ ๋ ฅ์ ์ถ๊ฐํ๊ธฐ ์์ํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ๋ด๊ฐ ์ค์นํ core-js ๋ฐ es6 ์ ๋ ฅ์ผ๋ก ์ธํด ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค. core-js๋ฅผ ์ ๊ฑฐํ๋ฉด ์ด์ core-js ๋ฒ์ ์ 0.9.35๋ก ๊ณ ์ ํ์ฌ ์์ ํ "Promise is a type"๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ด ํ์ดํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐจ์ด: "^4.0.4",
core-js: "0.9.35",
๋
ธ๋: "^8.0.50",
์คํ๋ ์ด์ด: "^4.1.0",
systemjs: "^0.20.6",
์ถฉ๋์ 504ํ์ core-js์ iterator: symbol
์ ๋ํ ์ ์๊ฐ ์๊ณ 54ํ์ ๋
ธ๋ ์ ํ์ readonly iterator: symbol
๋ํ ์ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ด๋ค ์ค ํ๋๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. match ๋ด ํ๋ก์ ํธ๊ฐ ์ปดํ์ผ๋ฉ๋๋ค.
angular2-electron-boilerplate๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์๋์ํค๋ ค๊ณ ํฉ๋๋ค. ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
node_modules/@types/node/index.d.ts(79,14): error TS2687: All declarations of 'iterator' must have identical modifiers.
79 readonly iterator: symbol;
~~~~~~~~
phil<strong i="9">@Loki</strong> ~/d/g/s/g/o/angular2-electron-boilerplate (master) [130]>
grep -rnE 'iterator:\s+symbol' node_modules/
node_modules//@types/node/index.d.ts:79: readonly iterator: symbol;
node_modules//typescript/lib/lib.es2015.iterable.d.ts:28: readonly iterator: symbol;
node_modules//typescript/lib/lib.es6.d.ts:4763: readonly iterator: symbol;
node_modules//reflect-metadata/Reflect.ts:95: declare const Symbol: { iterator: symbol, toPrimitive: symbol };
๋ฒ์ :
@philipbel ์์๋์ด?
@loctrice๊ฐ ์ค๋ช ํ๋ ๋ฌธ์ ์ ๋ํ ์๊ตฌ์ ์ธ ์์ ์ฌํญ์ด ์์ต๋๊น?
์๋์.
2018๋ 1์ 2์ผ 2์ 11๋ถ์ Smackzter [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@philipbel ์์๋์ด?
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ธ์.
@philipbel reflect-metadata
๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋น์ ์ ์ปดํ์ผ ๊ฒฐ๊ตญ ํธ๊ธฐ์ฌ ๋ฐฉ๋ฒ Reflect.ts
๋์ Reflect.d.ts
.
@loctrice ๋ core-js๋ฅผ ์๋์ผ๋ก ํธ์งํ์ฌ ๋ด ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ ์ ์์ง๋ง ๋ ๋์ ์๋ฃจ์ ์ ๊ฐ์ง ์ ์์ต๋๊น?
@ types/ [email protected]๋ก ์๋ํ๋ฉด ์ ์๋ํ์ต๋๋ค.
@thanhngvpt ์ ๋ ์ด ํ๋ก์ ํธ์ ๊ธฐ์ฌํ์ง ์์๊ธฐ ๋๋ฌธ์ ์๋ฃจ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋๋ ๊ฒฐ๊ตญ ๋ด ํ๋ก์ ํธ์ ๋๋ถ๋ถ์ ํจํค์ง๋ฅผ ์ ๊ทธ๋ ์ด๋ํด์ผ ํ๊ณ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๋ณด์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด
npm i [email protected] --save
๋ด ๋น๋๋ ์ด๋์์ ์ค๋จ๋์์ต๋๋ค!! ์ด ๋ฌธ์ ๋ ์ฌ์ ํ ํ์๋ฉ๋๋ค.
๋ด ํ๊ฒฝ
Ionic:
Ionic CLI : 5.2.3 (C\\\\node_modules\ionic)
Ionic Framework : ionic-angular 3.9.5
@ionic/app-scripts : 3.2.2
Cordova:
Cordova CLI : 8.0.0
Cordova Platforms : android 8.0.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 20 other plugins)
Utility:
cordova-res : 0.8.1
native-run : 1.0.0
System:
Android SDK Tools : 26.1.1 (C:\\\\AppData\Local\Android\Sdk)
NodeJS : v10.15.3 (C:\Program Files\nodejs\node.exe)
npm : 6.4.1
OS : Windows 10
Typescript is 2.5
๋ค, ์ ๊ฐ ํ๋ ์ผ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค. ๋ด tsconfig.json
lib
์ ์๊ฐ ์๊ณ ์ด ์ค๋ ๋์์ ์ ๊ณตํ๋ ์ ๋ณด์ ์์ ํ ๋นํฉํ์ต๋๋ค. ์ด๊ฒ์ ๋ด tsconfig.json
ํ์ผ์
๋๋ค.
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"rootDir": "src",
"outDir": "out",
"forceConsistentCasingInFileNames": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"pretty": true,
"declaration": true
}
}
๋ด๊ฐ ์ ์ดํ ์ ์๋ ๋ค์ ์ปดํ์ผ๋ฌ ์ค๋ฅ ์์ฑ์ ์ค์งํ๋ ค๋ฉด ์ ํํ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
node_modules/vscode/vscode.d.ts:534:3 - error TS2687: All declarations of 'textEditor' must have identical modifiers.
534 textEditor: TextEditor;
~~~~~~~~~~
node_modules/vscode/vscode.d.ts:8363:3 - error TS2687: All declarations of 'body' must have identical modifiers.
8363 body?: any;
~~~~
์ข ์์ฑ:
"devDependencies": {
"@types/node": "^8.10.59",
"@types/vscode": "^1.1.36",
"rimraf": "^3.0.0",
"tslint": "^5.20.1",
"tslint-config-xo": "^2.0.0",
"typescript": "^3.7.4",
"vscode": "^1.1.36"
}
๋ด tsconfig.json
"skipLibCheck": true
๋ฅผ ์ถ๊ฐํ๋ฉด ์ปดํ์ผ๋ฌ ์ค๋ฅ๊ฐ ์ ๊ฑฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ํ ๊ฒ์ฌ๋ฅผ ํ์ง ์๋ ๊ฒ์ด ์ข์ ์๊ฐ์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
{
"compilerOptions": {
"skipLibCheck": true
}
}
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@harrietsCreativeDabblets ํ๋ก์ ํธ์ devDependencies(
ng-start/package.json
์ด๋ด)์ ๋ค์์ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค."@types/node": "7.0.7"
์ด ๋ง์กฑ ์ด๋
jspm-config
์ด ๋ฒ์ ๋ณด์ฅํฉ๋๋ค semver@types/node
๋ก ๊ณ ์ ์ป์7.0.7
. ์ด๊ฒ์ดjspm-config
semver๋ฅผ ์ถฉ์กฑํ์ง ์์ผ๋ฉด ์ค๋ณต ์ ์๊ฐ ๋ฐ์ํฉ๋๋ค.ํ๋ก์ ํธ package.json์ ์์ ํ ํ
node_modules
๋ฐnpm i
๋ฅผ ์ญ์ ํ๋์ง ํ์ธํ์ญ์์ค.