강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김주원님의 프로필 이미지
김주원

작성한 질문수

[웹 개발 풀스택 코스] Vue.js 프로젝트 투입 일주일 전 - 기초에서 실무까지

node express vue cli 배포

해결된 질문

작성

·

862

1

안녕하세요~

선생님코스 신청하고,

nodejs 는 아직 수강을 안한 상태 이지만,

배포 부분이 궁금해서 우선 배포 먼저 해보려고

시도중입니다.

아마존에 배포해보려다가 어려워서

카페24에 nodejs 호스팅에 배포를 시도중입니다.

혹시 답변을 해주시면 정말 감사하겠습니다~

 

질문1. 아래 코드가 vue 파일을 우선 실행시키는 코드가 맞을까요?

로컬에서 작동이 되는 카페24 가 원인인걸까요?

app.use(express.static('views'));

질문2.아래 web.js 코드로 로컬에서는 동작하는데, 카페24에서는 왜 안되는걸까요?

작업 내용 [ vue 배포파일 생성 후 views 폴더에 복사, web.js 파일 생성]

 

web.js

const express = require('express')
const app = express()
app.use(express.static('views'));
app.get('/', function (req, res) {
  res.send('8001')
})
app.listen(8001)

vuecli배포파일.png

로컬 실행 : 잘됨

로컬에서됨.png

카페24 실행:

vue cli 가 실행이 안되고

8001 을 그냥 출력해 버리네요..

 

 

답변 1

1

개발자의 품격님의 프로필 이미지
개발자의 품격
지식공유자

배포파일을 생성한 후에는 Vue CLI를 실행할 필요가 없습니다.

카페24에서 정확히 어떻게 구동시키는지에 대해서 알지 못하기 때문에 조언을 드리는데 한계가 있습니다.

다만 아래 코드와 같이 제일 하단에 웹 서버 접속 시 views폴더에 있는 index.html을 보내는 코드와 같이 카페 24에서 지정된 접속 주소에 들어왔을때 vue에서 배포한 index.html을 보내줘야 합니다.

그리고 포트 번호를 8001번으로 하는게 맞는건지도 확인하셔야 할것 같습니다.

const express = require('express')
const app = express()
app.use(express.static('views'));
app.listen(8001)
app.all("*", (req, res) => {
  res.sendFile(__dirname + "/views/index.html");
});
김주원님의 프로필 이미지
김주원
질문자

우선 수업 내용이랑 직접적인 연관은 없지만, 답변 주셔서 감사드립니다~

1.알려주신코드는 로컬에서는 정상 작동 되는데 카페24서버에서 빈화면 입니다.소스보기하면 아래와 같이 나오긴합니다~

제가 카페24쪽에 문의한번 해보겠습니다~

강의를 열심히 들어서 개념을 열심히 탑재하도록 노력하겠습니다~

<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>project</title><script defer="defer" src="/js/chunk-vendors.c653c55e.js"></script><script defer="defer" src="/js/app.55b50711.js"></script><link href="/css/app.3d5ab858.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but project doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

2.아래 코드로 하니 잘 동작 되네요~

const express = require('express')
const app = express()
const path = require('path')
app.use(express.static(path.join(__dirname, 'views')));
app.listen(8001)
김주원님의 프로필 이미지
김주원

작성한 질문수

질문하기