TODO 프로젝트 – 2. 소스 환경 설정
1.Frontend 설정
시작전 프론트쪽의 환경설정 세팅을 해보겠습니다.
frontend/config/index.js
// 8080 api로 요청이 왔을 경우 3000/api 사용
proxyTable: {
'/api': {
target: 'http://127.0.0.1:3000/api',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
프록시 설정을 수정합니다.
이는 ‘http://127.0.0.1:8080/api’로 요청이 왔을때 ‘http://127.0.0.1:3000/api’를 프록시로 사용하게 해줍니다.
자세하 옵션을 아래 사이트에서 확인이 가능합니다.
http://vuejs-templates.github.io/webpack/proxy.html
frontend/main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';
import App from './App';
import router from './router';
import axios from 'axios';
Vue.prototype.$http = axios;
Vue.config.productionTip = false;
new Vue({
el: '#app',
render : h => h (App),
router
});
main.js에는 기본적으로 사용할 vue,router,axios를 임포트 해줍니다.
2.Backend 설정
backend/app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var index = require('./routes/index');
var api = require('./routes/api.js');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', index);
app.use('/api', api);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
app.js 파일에는 기본적으로 사용할 express를 로드해주고 라우터도 추가합니다.
backend/routes/index.js
var express = require('express');
var path = require('path');
var router = express.Router();
var app = express();
/* GET home page. */
router.get('/', function (req, res, next) {
// res.sendFile(path.join(__dirname, '../public', 'index.html'));
res.send('Hello World');
});
module.exports = router;
npm start
npm server를 시작한 뒤 http://localhost:3000에 접속하게 되면 ‘Hello World’ 문구를 확인할 수 있습니다.
이제 준비는 끝났습니다.