-
[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="">
'โ Front-End > - Angular' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Angular] Angular 10 Now Available ! (0) 2020.07.01 [Angular] routerLink vs href (0) 2020.06.18 Nx.dev๋ฅผ ์ด์ฉํ Angular ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (0) 2020.05.10 [Angular] input ํ๊ธ ์ ๋ ฅ์ ์งค๋ฆผ ํ์ (1) 2020.04.10 [Angular] ngx-translate๋ฅผ ์ด์ฉํ ๋ค๊ตญ์ด ์ฒ๋ฆฌ (0) 2020.04.02