Old Branch
[Docker 위의 웹서버] 프로젝트 세팅 (4) - vue 세팅 및 연동
woolbro
2020. 8. 27. 11:09
반응형
GITHUB
paullee714/Flask-Vue-ELK-Mongo-Docker
Vue 설정 및 초기화
yarn
나는 npm보다는 yarn을 선호한다.
(npm으로 진행하면 뭔가 좀 더 설치하는 느낌....)
로컬에 yarn이 설치 되어 있는지 확인한 후에 없다면 설치 해준다.
확인 방법은 아래의 방법으로 진행하면 된다.
$ yarn --version
Vue - yarn global add
yarn으로 vue를 설치 해 준다
$ yarn global add @vue/cli
Vue Project init
PROJECT ROOT
├── ELK
│ ├── elasticsearch
│ ├── kibana
│ └── logstash
├── README.md
├── docker-compose.yml
└── web
├── back
└── front
- 위의 구조는 전체구조이다. 우리는 front에 vue 프로젝트를 초기화 해주려고 한다.
- web폴더 아래에 front를 만들어주고 접근한다
# PROJECT/web/front
$ vue create . # 현재 위치에 프로젝트를 만들겠다는 뜻
위의 명령어를 실행하면 커맨드 창에 여러 질문들이 나온다.
Vue CLI v4.4.6
? Generate project in current directory? (Y/n)Y
Vue CLI v4.4.6
┌─────────────────────────────────────────────┐
│ │
│ New version available 4.4.6 → 4.5.4 │
│ Run yarn global add @vue/cli to update! │
│ │
└─────────────────────────────────────────────┘
? Please pick a preset:
default (babel, eslint)
❯ Manually select features
- Manually select features를 눌러준다
Vue CLI v4.4.6
┌─────────────────────────────────────────────┐
│ │
│ New version available 4.4.6 → 4.5.4 │
│ Run yarn global add @vue/cli to update! │
│ │
└─────────────────────────────────────────────┘
? Please pick a preset: Manually select features
? Check the features needed for your project:
❯◉ Babel
◯ TypeScript
◯ Progressive Web App (PWA) Support
◉ Router
◉ Vuex
◯ CSS Pre-processors
◉ Linter / Formatter
◯ Unit Testing
◯ E2E Testing
- Babel, Router, Vuex, Linter / Formatter 를 선택 해 준다
Vue CLI v4.4.6
┌─────────────────────────────────────────────┐
│ │
│ New version available 4.4.6 → 4.5.4 │
│ Run yarn global add @vue/cli to update! │
│ │
└─────────────────────────────────────────────┘
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, Router, Vuex, Linter
? Use history mode for router? (Requires proper server setup for index fallback in production) Yes
? Pick a linter / formatter config: Prettier
? Pick additional lint features: Lint on save
? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
- 계속해서 나오는 질문에 위와같이 선택 해준다
Vue Project 확인하기
web
├── back
│ ├── app.py
│ ├── back.Dockerfile
│ ├── back_lib
│ ├── requirements.txt
│ ├── route
│ ├── util
│ └── venv
└── front
├── README.md
├── babel.config.js
├── node_modules
├── .browserslistrc
├── .eslintrc.js
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
└── src
├── App.vue
├── assets
├── components
├── main.js
├── router
├── store
└── views
- web 아래의 front에 위와같이 여러가지 패키지들이 설치 된 것이 보인다
- 프로젝트에서 사용할 lint와 prettier인 .eslintrc.js를 수정 해 주도록 한다
web/front/.eslintrc.js
module.exports = {
root: true,
env: {
node: true
},
extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"],
parserOptions: {
parser: "babel-eslint"
},
rules: {
// "no-console": "off",
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"no-useless-escape": 0,
"prettier/prettier": [
"error",
{
singleQuote: true,
semi: true,
useTabs: false,
tabWidth: 4,
trailingComma: "all",
printWidth: 80,
bracketSpacing: true,
arrowParens: "avoid"
}
]
},
overrides: [
{
files: [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)"
],
env: {
jest: true
}
}
]
};
기본적으로 세팅이 되어있지만, 여러가지를 추가했다.
프로젝트가 실행 될때 에러가 날텐데, lint 설정이 맞지 않아서 그런 것이다.
singleQuote : true를 False로 바꿔주거나 전체 코드를 다시 저장 해 주면 된다.
실행 확인하기
vue설정을 완료 했으니 실행 해 주도록 한다
$ yarn run serve
이제 localhost:8080
에 들어가서 확인 해 보자!