ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Angular] libs ํด๋” ๋‚ด assets ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ
    โ–  Front-End/- Angular 2020. 6. 3. 18:23

     

    ๐Ÿง

    monorepo ํ˜•ํƒœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ธ๋ฐ, ํ”„๋กœ์ ํŠธ ๋‚ด์— ui์™€ markup ์•ฑ์ด ๊ฐ™์ด ์žˆ์–ด์„œ ์‚ฌ์‹ค scss, img ํŒŒ์ผ๋“ค์ด ์ค‘๋ณต๋œ๋‹ค.

    ์ปดํฌ๋„ŒํŠธ๋ณ„ ์Šคํƒ€์ผ ํŒŒ์ผ์€ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋งˆํฌ์—…์—์„œ ์—…๋ฐ์ดํŠธ ๋  ๋•Œ๋งˆ๋‹ค ๋ฎ์–ด์”Œ์›Œ์•ผํ•˜์ง€๋งŒ,

    ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์Šคํƒ€์ผ ํŒŒ์ผ์ด๋ผ๋˜์ง€ ์ด๋ฏธ์ง€ ํŒŒ์ผ์€ ์ค‘๋ณต์œผ๋กœ ๊ฐ–๊ณ  ์žˆ์„ ํ•„์š”๊ฐ€ ์—†๋‹ค.

     

     

     

    โœ…

    Nx.dev๋กœ monorepo๋ฅผ ์ƒ์„ฑํ•˜๋ฉด libs ํด๋”๊ฐ€ ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์— ํ”„๋กœ์ ํŠธ ๋‚ด app์—์„œ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

    ๋งŒ์•ฝ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด, nx g @nrwl/angular:lib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ช… ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ

    ์ด๋ฒˆ์—๋Š” ์ •์  ํŒŒ์ผ(scss, img)๋งŒ ๋„ฃ์„๊ฑฐ๋‹ˆ๊นŒ ์ƒˆ ํด๋” ์ถ”๊ฐ€ํ•ด์„œ ๋‹ค ๋„ฃ์–ด๋ฒ„๋ ธ๋‹ค.

     

     

     

    ๊ทธ ๋‹ค์Œ, ๊ธฐ์กด์— ๊ฐ app๋‚ด assets ํด๋”์—์„œ importํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋˜ ์ปดํฌ๋„ŒํŠธ๋“ค์˜ assets ํด๋” ๊ฒฝ๋กœ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ”๊ฟ”์ค€๋‹ค.

    @import "./libs/client-assets/scss/test.scss";

    ๋ฐ”๊ฟ”์ค„ ๋•Œ ๊ฐ ์ปดํฌ๋„ŒํŠธ์˜ scss ํŒŒ์ผ ๋‚ด ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ”์ค˜์•ผํ•˜๊ณ , ๊ฐ app ๋‚ด์˜ style.scss์—์„œ๋„ ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค.

    (์‚ฌ์‹ค ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ctrl + r ๋กœ ์ฐพ์•„ ๋ฐ”๊พธ๊ธฐ!)

     

     

    ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊พธ๊ณ ๋‚˜์„œ ๋‹ค์‹œ npm run start๋ฅผ ํ–ˆ๋Š”๋ฐ, 404 ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค.

    ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ์—์„œ img ํƒœ๊ทธ์˜ src ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์ด์—ˆ๋‹ค.

    <img src="libs/client-assets/images/user.svg" >

    ๋ถ„๋ช… ์ปดํฌ๋„ŒํŠธ์˜ scss ํŒŒ์ผ์—์„œ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ž˜ ๊ฐ€์ ธ์™”๋Š”๋ฐ ์™œ ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ์—์„œ๋Š” ๋ชป๊ฐ€์ ธ์˜ค๋Š”์ง€ ์ข€ ์ด์ƒํ–ˆ๋‹ค.

     

     

     

     

     

     

     

     

    ์—ด์‹ฌํžˆ ๊ตฌ๊ธ€๋งํ•ด๋ณด๋‹ˆ, ๊ฐ app์—์„œ libs ์•„๋ž˜ assets๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด angular.json ํŒŒ์ผ์—์„œ ๋”ฐ๋กœ ์„ค์ •ํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.

    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  app ๋ช…์„ ํ™•์ธํ•˜๊ณ , architect/build/options/assets์— ์œ„์™€๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

    {
          "glob": "**/*",
          "input": "./libs/client-assets",
          "output": "/client-assets"
    }

    input์—๋Š” ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๊ณ ,

    output์—๋Š” ํ•ด๋‹น app์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฒฝ๋กœ๋ช…์„ ์–ด๋–ป๊ฒŒ ํ• ๊ฑด์ง€ ์„ค์ •ํ•œ๋‹ค.

     

     

     

    ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๋ฉด, ์‹ค์ œ๋กœ ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

    <img src="client-assets/images/user.svg" class="img-thumb" alt="">

     

     

     

Designed by Tistory.