2017-12-26 35 views
0

나는 Node.js을 연습하고 Vue + Koa에서 시작을 결정합니다.템플릿 엔진을 사용하지 않고 코아 렌더링

연구 후 Vue, 나는 정말로 더 이상 템플릿 엔진이 필요 없다고 생각합니다. 전체 HTML을 전면적으로 응답하고 Ajax를 사용하여 작업을 요청하고보기를 Vue으로 업데이트하십시오.

문제 :

  1. 가 바로이 아이디어인가?
  2. context.render('xxx.html')과 같은 API가 있습니까? 또는 직접 HTML을 읽는 IO 작업을 구현해야합니다. 따라 다르지만, 그래 뷰와 같은 프론트 엔드 라이브러리를 사용하거나 반작용 대부분의 사람들이 클라이언트 측까지보기를 떠나 단지 API 요청에 대한 백엔드를 사용합니다

답변

0
  1. .

  2. koa-views을 사용하면 ctx.render 기능을 사용할 수 있습니다.

사용 예제 (난 그냥 완전한 예제를 가지고 KOA-라우터를 포함 시켰습니다) : 경로 처리기에서 다음

import Koa from 'koa' 
import Router frmo 'koa-router' 
import views from 'koa-views' 

const app = new Koa() 

app.use(views(path.join(__dirname, 'views), { extension: 'pug' })) 

그리고 당신은 같은 것을 수행 할 수 있습니다

router.get('/contacts', async ctx => { 
    ctx.render('all-contacts') // Renders the `all-contacts.pug` file 
}) 

HTML 파일을로드하고 요청 처리를 위해 API 서버 만 사용하는 dev 서버를 사용하는 것이 좋습니다. vue-cli을 사용하여 시동기 vue 프로젝트를 생성 할 수 있습니다. 기본적으로 한 포트 (예 : 3000)에서 dev 서버를 시작하고 다른 포트 (3001)에서 API 서버를 시작하려고합니다. dev 서버는 자동으로 HTML 파일을로드하고 클라이언트의 변경 사항을 수신합니다. 모든 API 요청을 webpack 구성에서 API 서버로 보내려면 proxy을 설정하면됩니다.