[vue] ํ”„๋กœ์žญํŠธ ๋งŒ๋“ค๊ธฐ

0 views
Skip to first unread message

young chol seo

unread,
Feb 28, 2019, 12:49:19โ€ฏAM2/28/19
to kamjaroid
http://www.daleseo.com/vue-cli3/

Vue CLI 3 ์‚ฌ์šฉ๋ฒ•

ย JS,ย JAVASCRIPT,ย VUE CLI,ย VUE CLI 3,ย VUEJS

2018๋…„ 8์›” 10์ผ Vue CLI 3๊ฐ€ ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Vue CLI๋Š” React์˜ย create-react-app์ฒ˜๋Ÿผ Vue ํ”„๋กœ์ ํŠธ๋ฅผ ์†์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” Vue CLI 3 ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Vue CLI 3 ์„ค์น˜

Vue CLI ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Vue CLI 2๋Š”ย vue-cliย ์˜€๋Š”๋ฐ, ์ด๋ฒˆ Vue CLI 3๋Š”ย @vue/cli๋ผ๋Š” ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœย @ย ๋งˆํฌ๋Š” NPM์— ์ตœ๊ทผ์— ๋„์ž…๋œย Scoped package๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๊ธฐ์กด์— Vue CLI 2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋ฉด,ย vue๋ผ๋Š” ์ปค๋งจ๋“œ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ๊ผฌ์ผ์ง€๋„ ๋ชจ๋ฅด๋‹ˆ Vue CLI 2๋ฅผ ์ œ๊ฑฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1
$ npm r -g vue-cli

๊ทธ๋ฆฌ๊ณ  Vue CLI 3๋ฅผ ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
$ npm i -g @vue/cli
$ vue --version
3.0.0

์œ„์™€ ๊ฐ™์ดย 3์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฒ„์ „์ด ํ™•์ธ๋˜๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์œผ๋กœย hello-vue-cli์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
$ vue create hello-vue-cli
Vue CLI v3.0.0
? Please pick a preset: (Use arrow keys)
โฏ default (babel, eslint)
Manually select features

์œ„์™€ ๊ฐ™์ด ๋””ํดํŠธ ์„ค์ •์œผ๋กœ ๊ฐˆ์ง€ ๋งค๋‰ด์–ผํ•˜๊ฒŒ ์˜ต์…˜์„ ์„ ํƒํ• ์ง€ ๋‚˜์˜ค๋Š”๋ฐ์š”. ๋‚˜์ค‘์— ์–ธ์ œ๋“ ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๋””ํดํŠธ ์„ค์ •์„ ์„ ํƒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
โœจ  Creating project in /work/temp/hello-vue-cli.
๐Ÿ—ƒ Initializing git repository...
โš™ Installing CLI plugins. This might take a while...
(... ์ƒ๋žต ...)
๐ŸŽ‰ Successfully created project hello-vue-cli.
๐Ÿ‘‰ Get started with the following commands:

$ cd hello-vue-cli
$ npm run serve

๊ทธ๋Ÿฌ๋ฉด ๊ท€์—ฌ์šด ์•„์ด์ฝ˜๋“ค์ด ๋‚˜์˜ค๋ฉด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์ด ์ง„ํ–‰๋˜๊ณ  ๊ธˆ๋ฐฉ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์„œ๋ฒ„ ๊ตฌ๋™

์‹œํ‚ค๋Š”๋Œ€๋กœ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋“ค์–ด๊ฐ€์„œ NPM ์ปค๋งจ๋“œ๋ฅผ ๋‚ ๋ฆฌ๋ฉด ์ˆœ์‹๊ฐ„์— ์›นํŒฉ ๊ฐœ๋ฐœ ์„œ๋ฒ„๊ฐ€ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค.ย npm run serveย ์ปค๋งจ๋“œ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์›นํŒฉ ๊ฐœ๋ฐœ ์„œ๋ฒ„์ธย webpack-dev-server๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (์›นํŒฉ ๊ฐœ๋ฐœ ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ถ€์—ฐ ์„ค๋ช…์€ย ๊ด€๋ จ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cd hello-vue-cli
$ npm run serve

> hello-...@0.1.0 serve /work/temp/hello-vue-cli
> vue-cli-service serve

INFO Starting development server...
98% after emitting CopyPlugin
DONE Compiled successfully in 2094ms 15:09:40


App running at:
- Local: http://localhost:8080/
- Network: http://10.2.120.137:8080/

Note that the development build is not optimized.
To create a production build, run npm run build.

์—ญ์‹œ ์‹œํ‚ค๋Š”๋Œ€๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œย http://localhost:8080/์— ์ ‘์†ํ•ด๋ณด๋ฉด Vue ๋กœ๊ณ ๊ฐ€ ๋šœ๋‘ฅ ๋œจ๋ฉด์„œย Welcome to Your Vue.js App๋ผ๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋†€๋ž๊ฒŒ๋„ย npm installย ์ปค๋งจ๋“œ๋ฅผ ํ†ตํ•ด NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ๋„ ๊ฐœ๋ฐœ ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด์‹œ๋ฉด Vue CLI๊ฐ€ ์ด๋ฏธย node_modulesย ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด ๋†“๊ณ  ๊ทธ ์•ˆ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๋ชจ๋‘ ๋‹ค์šด๋ฐ›์•„ ๋†“์•˜์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€

๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ์—์„œ ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•œ ๋ชจ๋“ˆ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ๋‚˜์ค‘์— ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ณผ๋„ํ•˜๊ฒŒ ์„ค์ •ํ•  ํ•„์š”์—†์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” Vue Router์™€ Vuex ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ € Vue Router ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ vue add router
? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) No

๐Ÿš€ Invoking generator for core:router...
๐Ÿ“ฆ Installing additional dependencies...

added 1 package from 1 contributor and audited 11785 packages in 11.271s
found 0 vulnerabilities

โœ” Successfully invoked generator for plugin: core:router
The following files have been updated / added:

src/router.js
src/views/About.vue
src/views/Home.vue
package-lock.json
package.json
src/App.vue
src/main.js

You should review these changes with git diff and commit them.

์—ญ์‹œ ์•„์ด์ฝ˜๋“ค์ด ๋‚˜์˜ค๋ฉด์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์–ด๋–ค ํŒŒ์ผ๋“ค์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜์˜€๋Š”์ง€ ๋‚˜์™€์„œ ์ข‹์Šต๋‹ˆ๋‹ค.

Vue Router ์„ค์ • ํŒŒ์ผ์ธย router.js์„ ์—ด์–ด๋ณด๋ฉดย /๊ณผย /aboutย ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ผ์šฐํŒ… ์ •๋ณด๋งŒ ์„ธํŒ…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”ํ›„๋กœ ํ•„์š”ํ•œ ๊ฒฝ๋กœ์— ๋Œ€ํ•ด์„œ ์ด ๊ณณ์— ์„ธํŒ…์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • src/router.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'

Vue.use(Router)

export default new Router({
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/about',
name: 'about',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
}
]
})

๊ทธ๋ฆฌ๊ณ ย main.jsย ํŒŒ์ผ์—๋„ ๋ผ์šฐํ„ฐ ์„ค์ •์„ ์œ„ํ•œ 2์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • src/main.js
1
2
3
4
5
6
7
8
9
10
 import Vue from 'vue'
import App from './App.vue'
+import router from './router'

Vue.config.productionTip = false

new Vue({
+ router,
render: h => h(App)
}).$mount('#app')

๋‹ค์Œ์œผ๋กœ Vuex ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ vue add vuex

๐Ÿš€ Invoking generator for core:vuex...
๐Ÿ“ฆ Installing additional dependencies...

added 1 package from 1 contributor and audited 11786 packages in 5.753s
found 0 vulnerabilities

โœ” Successfully invoked generator for plugin: core:vuex
The following files have been updated / added:

src/store.js
package-lock.json
package.json
src/main.js

You should review these changes with git diff and commit them.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ˆœ์‹๊ฐ„์— Vuex ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

Vuex ์„ค์ • ํŒŒ์ผ์ธย store.js๋ฅผ ์—ด์–ด๋ณด๋ฉด, Vuex์˜ ๊ตฌ์„ฑ ์š”์†Œ์ธ State์™€ Mutations, Actions์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ๋ผˆ๋Œ€๊ฐ€ ์žกํ˜€์ ธ์žˆ์Šต๋‹ˆ๋‹ค. (์™œ Getters๋Š” ๋น ์ ธ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”?) ๊ฐœ๋ฐœํ•˜์‹œ๋ฉด์„œ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ด ๊ณณ์— ์ถ”๊ฐ€ํ•ด ๋‚˜๊ฐ€๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
state: {

},
mutations: {

},
actions: {

}
})

๊ทธ๋ฆฌ๊ณ ย main.jsย ํŒŒ์ผ์—๋„ Vuex ์„ค์ •์„ ์œ„ํ•œ 2์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
 import Vue from 'vue'
import App from './App.vue'
import router from './router'
+import store from './store'

Vue.config.productionTip = false

new Vue({
router,
+ store,
render: h => h(App)
}).$mount('#app')

์ƒ์šฉ ๋นŒ๋“œ

๋งˆ์ง€๋ง‰์œผ๋กœย npm run buildย ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ƒ์šฉ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋นŒ๋“œ๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด Vue CLI๊ฐ€ ์›นํŒฉ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์†Œ์Šค ํŒŒ์ผ๋“ค์„ ๋ฒˆ๋“ค๋งํ•˜์—ฌย distย ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ npm run build

> hello-vue-cli@0.1.0 build /work/temp/hello-vue-cli
> vue-cli-service build


โ ฆ Building for production...

DONE Compiled successfully in 4177ms 15:48:20

File Size Gzipped

dist/js/chunk-vendors.a0f0536d.js 112.02 kb 38.81 kb
dist/js/app.3f1f8529.js 6.10 kb 2.29 kb
dist/js/about.7a29333c.js 0.47 kb 0.33 kb
dist/css/app.b675258f.css 0.33 kb 0.23 kb

Images and other types of assets omitted.

DONE Build complete. The dist directory is ready to be deployed.
INFO Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

์ดย distย ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด๋ฉดย index.htmlย ํŒŒ์ผ๋“ค์„ ํฌํ•จํ•œ ์›นํŒฉ์ด ๋ฒˆ๋“ค๋งํ•œ ํŒŒ์ผ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ๋“ค์„ ์ƒ์šฉ ๋ฐฐํฌ์— ์ ํ•ฉํ•˜๋„๋ก ์›นํŒฉ์ด ์ตœ์ ํ™” ํ•ด๋†“์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Vue CLI Service

๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•˜๊ฑฐ๋‚˜ ์ƒ์šฉ ๋นŒ๋“œ๋ฅผ ํ•  ๋•Œ NPM ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์œ ๋Š” Vue CLI๊ฐ€ ๊ด€๋ จย vue-cli-serviceย ์ปค๋งจ๋“œ๋ฅผ NPM ์Šคํฌ๋ฆฝํŠธ๋กœย package.jsonย ํŒŒ์ผ์— ๋“ฑ๋กํ•ด๋†“์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • package.json
1
2
3
4
5
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},

NPM ์ปค๋งจ๋“œ ๋Œ€์‹ ์— Vue CLI Service ์ปค๋งจ๋“œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ์‹œ๋ฉด,ย npxย ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1
2
$ npx vue-cli-service serve
$ npx vue-cli-service build

์ตœ์ข… ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

์—ฌ๊ธฐ๊นŒ์ง€ ์ž˜ ๋”ฐ๋ผ์˜ค์…จ๋‹ค๋ฉด Vue CLI๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊น”๋”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์žก์•„์คฌ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์ด Vue CLI๋ฅผ ์ด์šฉํ•˜๋ฉด ๋งค์šฐ ์†์‰ฝ๊ฒŒ Vue ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ babel.config.js
โ”œโ”€โ”€ dist/
โ”œโ”€โ”€ node_modules/
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ public
โ”‚ย ย  โ”œโ”€โ”€ favicon.ico
โ”‚ย ย  โ””โ”€โ”€ index.html
โ””โ”€โ”€ src
โ”œโ”€โ”€ App.vue
โ”œโ”€โ”€ assets
โ”‚ย ย  โ””โ”€โ”€ logo.png
โ”œโ”€โ”€ components
โ”‚ย ย  โ””โ”€โ”€ HelloWorld.vue
โ”œโ”€โ”€ main.js
โ”œโ”€โ”€ router.js
โ”œโ”€โ”€ store.js
โ””โ”€โ”€ views
โ”œโ”€โ”€ About.vue
โ””โ”€โ”€ Home.vue

๋งˆ์น˜๋ฉด์„œ

์ง€๊ธˆ๊นŒ์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ Vue CLI 3์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ Vue CLI 2๋„ ๋งŒ์กฑํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, Vue CLI 3๋Š” ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ์œ ์—ฐํ•ด์ง„ ๋А๋‚Œ์ž…๋‹ˆ๋‹ค. Vue CLI 2๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋˜‘๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด์„œ ์–ด๋–ค ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ์ง€์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ–ˆ์—ˆ๋Š”๋ฐ, (์˜ˆ๋ฅผ ๋“ค์–ด webpack์„ ์“ธ์ง€ browserify๋ฅผ ์“ธ์ง€) Vue CLI 3์—์„œ๋Š” ์ด๋Ÿฐ ๋ถ€๋ถ„์„ ๋ชจ๋‘ ์ถ”์ƒํ™” ์‹œ์ผœ๋†“์•„์„œ ๋‹จ์ˆœํžˆ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•ด์„œ๋งŒ ์‹ ๊ฒฝ์„ ์“ฐ๋ฉด ๋˜์„œ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Ÿฌํ•œ ์˜์‚ฌ๊ฒฐ์ •์„ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•  ๋•Œ ๊ฐ•์ œ๋ฐ›์ง€ ์•Š๊ณ , ๋‚˜์ค‘์— ํ•„์š”ํ•  ๋•Œ ๋งˆ๋‹ค ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ Vue CLI ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด NPM ํ”ผํ‚ค์ง€ ๋‹ค์šด๋กœ๋“œ๊นŒ์ง€ ํ•ด์ค˜์„œ ํ•œ์ธต ํŽธํ•ด์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Reply all
Reply to author
Forward
0 new messages