Firebase-tools: ๋นˆ firebase.json์ด ์žˆ๋Š” Firebase ๋ฐฐํฌ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€

์— ๋งŒ๋“  2017๋…„ 06์›” 07์ผ  ยท  32์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: firebase/firebase-tools

์˜ค๋Š˜ ์•ฝ๊ฐ„์˜ ํ”„๋กœ์ ํŠธ ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ ์ค‘์ด์—ˆ๊ณ  Firebase ๋ฐฐํฌ ๋ช…๋ น์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ ๋‚ด firebase.json์— ๋‚ด์šฉ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค.
{}

๊ทธ๋ฆฌ๊ณ  firebase deploy --only database ๋กœ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
Error: No targets found. Valid targets are: database,storage,functions,hosting

์ด๊ฒƒ์ด ์ตœ๊ทผ nodejs v8 ๋ฌธ์ œ + ์ง€๋‚œ 6๊ฐœ์›” ๋™์•ˆ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ(๊ทœ์น™ ๋ฐ ๋นˆ firebase๊ฐ€ ์žˆ๋Š” ๋ณ„๋„์˜ ๊ธฐ๋Šฅ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐฐํฌํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค)์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‚ด๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. json) ์ง€๊ธˆ๊นŒ์ง€.

์˜ค๋ฅ˜๊ฐ€ ๋‚ด firebase.json์„ ์กฐ์‚ฌํ•˜๋„๋ก ์ œ์•ˆํ–ˆ๋‹ค๋ฉด ๋„์›€์ด๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐Ÿ‘

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ์ด๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์—ด๊ธฐ ์œ„ํ•ด ์—ฌ๊ธฐ์— ์™”์Šต๋‹ˆ๋‹ค.

IMO ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ Firebase๋ฅผ ๋ฏธ๋ฆฌ ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ˜ธ์ŠคํŒ… ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ firebase.json์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ํ˜ธ์ŠคํŒ…๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

{
  "hosting": {
    "public": "public"
  }
}

๋ชจ๋“  32 ๋Œ“๊ธ€

๋‚˜๋Š” ์ด๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์—ด๊ธฐ ์œ„ํ•ด ์—ฌ๊ธฐ์— ์™”์Šต๋‹ˆ๋‹ค.

IMO ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ Firebase๋ฅผ ๋ฏธ๋ฆฌ ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ˜ธ์ŠคํŒ… ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ firebase.json์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ํ˜ธ์ŠคํŒ…๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

{
  "hosting": {
    "public": "public"
  }
}

ํ”ผ๋“œ๋ฐฑ์„ ๋ณด๋‚ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @ahaverty ! ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ข€ ๋” ์„ค๋ช…์ ์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ --only ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํƒ€๊ฒŸ ์ด๋ฆ„์˜ ์ฒ ์ž๋ฅผ ํ‹€๋ฆฌ๋Š” ๊ฒฝ์šฐ์—๋„ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„ ์–ด๋ ต์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋ˆ„๊ตฐ๊ฐ€ "firebase serve --only functions:funcA"๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์‹ค์ œ๋กœ funcA๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ). . ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

์˜ค๋ฅ˜: ๋ฐฐํฌํ•  ๋Œ€์ƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. --only ๋˜๋Š” --except ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ์œ ํšจํ•œ ๋Œ€์ƒ์„ ์ง€์ •ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด firebase.json์„ ํ™•์ธํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

@pedrosnk " firebase.json ์„ ์ฑ„์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋ฒ„๊ทธ๋ฅผ ์‹ ๊ณ ํ•˜๊ณ  ์žฌํ˜„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@laurenzlong ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์™„๋ฒฝํ•˜๊ฒŒ ๋“ค๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ‘Œ

์šฐ์„  ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

๋‚˜๋Š” ๋‚˜์—๊ฒŒ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด ๋‚ฌ๋Š”์ง€ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ @ahaverty์—๊ฒŒ ์ผ์–ด๋‚œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ผ์ž…๋‹ˆ๋‹ค.

$ firebase init ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ŠคํŽ˜์ด์Šค๋ฅผ ๋ˆŒ๋Ÿฌ ํ˜ธ์ŠคํŒ… ์˜ต์…˜์„ ์„ ํƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๊ฐ€์„œ Enter ํ‚ค๋ฅผ ๋ˆŒ๋ €์Šต๋‹ˆ๋‹ค. (cli์—์„œ ์ „์ฒด ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).

์ˆœ์ „ํžˆ ๋‚ด ์‹ค์ˆ˜์ง€๋งŒ, ์ด ์‹ค์ˆ˜๋Š” ํ”ผํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ถ„์œผ๋กœ ๋„˜์–ด์กŒ๋‹ค. ์•„๋งˆ๋„ ๋‚ด๊ฐ€ ๊ธฐ๋Šฅ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด cli๊ฐ€ ์ž๋™์œผ๋กœ ๊ทธ๊ฒƒ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋นˆ firebase.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹ .

์ด ํ”„๋กœ์ ํŠธ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ: ์–ด๋Š ๋‚  ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์€ ํ›„์— ์ผ๋ถ€ ๋ฏธ์นœ Dev ์ฝ”๋“œ๋กœ ํ”„๋กœ๋•์…˜ ํ”„๋กœ์ ํŠธ์— ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ์ด ๋‘๋ ค์›Œ์„œ ๋ช‡ ๊ฐ€์ง€ ๋ฉ‹์ง„ "Are you sure?๐Ÿค”" ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ bash ์Šคํฌ๋ฆฝํŠธ์—์„œ Firebase ๋ฐฐํฌ ๋ช…๋ น์„ ๋ž˜ํ•‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. firebase use devproject ์‹คํ–‰ ์ค‘! ๋˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด firebase.json์„ ์ƒ์„ฑํ•˜๊ณ  ์žˆ์ง€๋งŒ ํ•œ ๋ฒˆ๋งŒ ๊ทœ์น™.๋ณผํŠธ๋ฅผ ๋‚ด ๊ธฐ๋Šฅ ์ €์žฅ์†Œ์— ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ๊ฒฐ๊ตญ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. @pedrosnk ๋‚ด ์ƒ๊ฐ์— ๋‹น์‹ ์˜ ์ œ์•ˆ์ด ๋‚ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊นจ๋œจ๋ฆด ๊ฒƒ ๊ฐ™์ง€๋งŒ @laurenzlong ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ข‹์€ ์ˆ˜์ •์ž…๋‹ˆ๋‹ค๐Ÿ‘Œ

์ด ๊ฒฝ์šฐ ๋” ๋‚˜์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์— ๋™์˜ํ•˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

@pedrosnk์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์˜ต์…˜์ด ๋ฏธ๋ฆฌ

{
    "hosting": {
        "public": "public",
        "rewrites": [
            {
                "source": "**",
                "destination": "/index.html"
            }
        ],
    }
}

๊ฒฐ๊ตญ ๋ชจ๋“  ์‚ฌ๋žŒ์ด Firebase ํ˜ธ์ŠคํŒ…๊ณผ ํ•จ๊ป˜ SPA๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด PR์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. @pedrosnk ๋ฐ @PierBover ๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ "

์ด๋ด, ๋‚œ ์„ ํƒ ์•Š์•˜๋‹ค @laurenzlong hosting ์ˆ˜ํ–‰ ํ•  ๋•Œ firebase init ํ•˜๊ณ  ๋‚œ ๋นˆ ํŒŒ์ผ์„ ์–ป์—ˆ๋‹ค.

@PierBover ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. 'firebase init'๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ˜ธ์ŠคํŒ…์„ ์„ ํƒํ•˜๋ฉด firbase.json์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (CLI ๋ฒ„์ „, ์‹คํ–‰ ์ค‘์ธ ํ”Œ๋žซํผ์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค.)

๋˜ํ•œ ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๋ˆŒ๋Ÿฌ ํ”ผ์ณ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋Ÿฐ ๋‹ค์Œ ์›์ด ์ฑ„์›Œ์ง). ์„ ํƒํ•œ ๊ฒฝ์šฐ ํ˜ธ์ŠคํŒ…๊ณผ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. (๊ณต๊ฐœ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ฌด์—‡์„ ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‹จ์ผ ํŽ˜์ด์ง€ ์•ฑ์œผ๋กœ ๊ตฌ์„ฑ(๋ชจ๋“  URL์„ /index.html๋กœ ๋‹ค์‹œ ์ž‘์„ฑ)?)

๋งž์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ณต๋ฐฑ ๋Œ€์‹  Enter๋ฅผ ๋ˆŒ๋ €์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ์ž˜๋ชป์ด์•ผ.

๊ฑฑ์ • ๋งˆ!

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ดˆ๋ณด์ž์ด๋ฉฐ ์ด๊ฒƒ์€ ๋‚ด๊ฐ€๋ณด๊ณ ์žˆ๋Š” ์˜ค๋ฅ˜์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ† ๋ก ์ž…๋‹ˆ๋‹ค. Firebase ์ดˆ๊ธฐํ™”์—์„œ ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜๊ณ  ์ค‘๊ด„ํ˜ธ๊ฐ€ ์žˆ๋Š” ๋นˆ firebase.json์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ฐฐํฌํ•˜๋ฉด "๋ฐฐํฌํ•  ๋Œ€์ƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์—†์Œ"์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŒ…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์ž…๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @himanshugarg ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์„ ์ดˆ๊ธฐํ™”ํ•œ ํ›„์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜๊ณ  ๋ฌธ์ œ ํ…œํ”Œ๋ฆฟ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! @pedrosnk

Firebase ์ดˆ๊ธฐํ™” CLI์—์„œ ๋Œ€๊ด„ํ˜ธ( )๊ฐ€ ๋ณด์ด๋Š” ์‚ฌ๋žŒ์€ ๋ผ๋””์˜ค ๋ฒ„ํŠผ์„ ๋ชจ๋ฐฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์˜ต์…˜์„ ์„ ํƒํ•˜๊ณ  Enter ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. ๋Œ€์‹  ๊ฐ๊ด€์‹(ํ™•์ธ๋ž€)์„ ์ œ์•ˆํ•˜๋Š” ๋Œ€๊ด„ํ˜ธ [ ]๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  Space๋ฅผ ๋†“์ณค๊ธฐ ๋•Œ๋ฌธ์— ๋นˆ firebase.json ํŒŒ์ผ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
"ํ˜ธ์ŠคํŒ…" ์˜ต์…˜์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์นจ์„ ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
]

// ๊ฑฐ๊ธฐ์— ๊ฐˆ ์ธ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด sqr ๋Œ€๊ด„ํ˜ธ ๋’ค์— etra ','๋ฅผ ํ”ผํ•˜์‹ญ์‹œ์˜ค.

๋˜ํ•œ ๊ณต๋ฐฑ ๋Œ€์‹  Enter๋ฅผ ๋ˆŒ๋ €์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์„ฑ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•„์š”

@lelong88 ๋งŽ์€ ๋ถ„๋“ค์ด ์ฒ˜์Œ ๋ฏฟ์Šต๋‹ˆ๋‹ค .

Firebase๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 'index.html' ํŒŒ์ผ์— ๋Œ€ํ•ด 'public' ํด๋”๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด angular4์—์„œ 'index.html'์ด 'dist' ํด๋”์— ์žˆ๋Š” ๊ฒฝ์šฐ 'firebase.json'์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์Œ์„ ๋ถ™์—ฌ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

{
"ํ˜ธ์ŠคํŒ…": {
"๊ณต๊ฐœ": "dist"
}
}

์ด๊ฒƒ์€ Firebase๊ฐ€ 'dist' ํด๋”์—์„œ 'index.html'์„ ์ฐพ๊ฑฐ๋‚˜ 'public' ๋Œ€์‹  ํด๋” ํ˜ธ์ถœ์ด ๋ฌด์—‡์ด๋“  ์ฐพ๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ์ด 'index.html'์„ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ดํ›„:

firebase deploy

์•„๋งˆ ์ž‘๋™ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค

๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ๋‹ค!

๊ธฐ๋Šฅ์„ ์„ ํƒํ•  ๊ณต๊ฐ„์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์€ ๋Œ์— ๋งž์•„?

์•„ํ•˜ํ•˜ํ•˜ ๊ณต๊ฐ„ํ™œ์šฉ? LMAO.
์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋นˆ ํŒŒ์ผ์ด ์žˆ๋Š” ์ด์œ ๋ฅผ ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ยฏ_(ใƒ„)_/ยฏ

[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.367Z] ----------------------------------- -----------------------------------
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.371Z] ๋ช…๋ น: C:\Program Files\nodejs\node.exe C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolsbinfirebase init MyAssignMent
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.371Z] CLI ๋ฒ„์ „: 3.18.5
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.371Z] ํ”Œ๋žซํผ: win32
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.372Z] ๋…ธ๋“œ ๋ฒ„์ „: v10.3.0
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.373Z] ์‹œ๊ฐ„: Sun Jun 03 2018 20:48:34 GMT+0530 (์ธ๋„ ํ‘œ์ค€์‹œ)
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.373Z] ----------------------------------- -----------------------------------
[๋””๋ฒ„๊ทธ]
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.388Z] > ๋ช…๋ น์—๋Š” ๋ฒ”์œ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https: //www.googleapis.com/auth/firebase"]
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:34.389Z] > ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋ฅผ ํ†ตํ•ด ๊ถŒํ•œ ๋ถ€์—ฌ
[์ •๋ณด]
######## #### ######## ######## ######### ### ###### ##### ###
## ## ## ## ## ## ## ## ## ## ##
###### ## ####### ###### ######## ######### ###### ##### #
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########

์ด ๋””๋ ‰ํ† ๋ฆฌ์—์„œ Firebase ํ”„๋กœ์ ํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

C:\Users\pushpendraPC\Desktop\project\NewAsignMentDeploy\AssignMent\src

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ์‚ฌํ•ญ์— ์œ ์˜ํ•˜์„ธ์š”.

  • ๊ธฐ์กด Firebase ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ดˆ๊ธฐํ™” ์ค‘์ž…๋‹ˆ๋‹ค.

[์ •๋ณด]
=== ํ”„๋กœ์ ํŠธ ์„ค์ •
[์ •๋ณด]
[์ •๋ณด] ๋จผ์ € ์ด ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Firebase ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
[์ •๋ณด] Firebase use --add๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ ๋ณ„์นญ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[์ •๋ณด] ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ๋งŒ ์„ค์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
[์ •๋ณด]
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:36.584Z] >>> HTTP ์š”์ฒญ GET https://admin.firebase.com/v1/projects

2018๋…„ 6์›” 3์ผ ์ผ์š”์ผ 20:48:36 GMT+0530(์ธ๋„ ํ‘œ์ค€์‹œ)
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:38.115Z] <<< HTTP ์‘๋‹ต 200
[์ •๋ณด] i .firebaserc์—๋Š” ์ด๋ฏธ ๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.
[์ •๋ณด]
=== ๋‚ด ํ• ๋‹น ์„ค์ •
[๋””๋ฒ„๊ทธ] [2018-06-03T15:18:38.543Z] TypeError: features[nextFeature]๋Š” ํ•จ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
์ดˆ๊ธฐํ™” ์‹œ(C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:13:49)
C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:14:14
process._tickCallback์—์„œ (๋‚ด๋ถ€/ํ”„๋กœ์„ธ์Šค/next_tick.js:68:7)
[์˜ค๋ฅ˜]
[์˜ค๋ฅ˜] ์˜ค๋ฅ˜: ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

cmd firebase init๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์˜ค๋ฅ˜ ํ‘œ์‹œ

์•ˆ๋…•,
์•„๋ž˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
์ด ํŒŒ์ผ์€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— index.html์ด ์—†๊ฑฐ๋‚˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— 404.html์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์™œ ์ด๊ฒƒ์„ ๋ณด๊ณ  ์žˆ๋Š”๊ฐ€?
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ์ž˜๋ชป๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฐฐํฌํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. firebase.json์„ ํ™•์ธํ•˜๊ณ  ๊ณต๊ฐœ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ index.html ํŒŒ์ผ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

์‚ฌ์ดํŠธ ๋ฃจํŠธ์— 404.html์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ ์˜ค๋ฅ˜ ํŽ˜์ด์ง€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

* * * * * ๋ช…๋ น์ค„ * * * * * *
Firebase ๋ฐฐํฌ

=== 'organicshop-18573'์— ๋ฐฐํฌ ์ค‘...

๋‚˜๋Š” ํ˜ธ์ŠคํŒ… ๋ฐฐํฌ
i ํ˜ธ์ŠคํŒ…: ์—…๋กœ๋“œํ•  dist ๋””๋ ‰ํ† ๋ฆฌ ์ค€๋น„ ์ค‘...
โš  ๊ฒฝ๊ณ : ๊ณต์šฉ ๋””๋ ‰ํ† ๋ฆฌ์— index.html์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โœ” ํ˜ธ์ŠคํŒ…: 7๊ฐœ์˜ ํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

โœ” ๋ฐฐํฌ ์™„๋ฃŒ!
* * * * Firebase.Json * * * * * **

{
"ํ˜ธ์ŠคํŒ…": {
"๊ณต๊ฐœ": "dist",
"๋ฌด์‹œํ•˜๋‹ค": [
"firebase.json",
" /. "," /๋…ธ๋“œ ๋ชจ๋“ˆ/ "],"๋‹ค์‹œ ์ž‘์„ฑ": [{"์†Œ์Šค": " ",
"๋ชฉ์ ์ง€": "/index.html"
}
]
}
}
* * ํด๋” ๊ตฌ์กฐ * * **
dist ํด๋”์—๋Š” index.html์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐํฌํ•˜๋ ค๊ณ  ํ•˜๋ฉด " ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๊ณ  index.html์ด ์—†์Šต๋‹ˆ๋‹ค.

ng build๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ firebase deploy๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋‚˜์œ

์ด ์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ํ™œ๋™์ด ์—†์–ด์„œ ์ด๋งŒ ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค.

firebase.json ์ถ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ์ ์ ˆํ•œ ์ •๋ณด๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”!

์ œ๊ณต๋œ ์†”๋ฃจ์…˜์„ ๋”ฐ๋ž์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ๋น„์–ด ์žˆ์ง€๋งŒ ์ฆ๊ฒจ์ฐพ๊ธฐ ์•„์ด์ฝ˜์ด ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋ฌด์Šจ ์ถ”์œ„๊ฐ€ ๋ฌธ์ œ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰