2016-07-09 3 views
3

ExpressJS, VueJS 및 Jade를 함께 사용하는 가장 좋은 방법은 무엇입니까?ExpressJS, VueJS, Jade를 함께 사용하는 방법은 무엇입니까?

좀 바보 같은 질문이지만, VueJS가 Jade 파일을 제공 할 수 없기 때문에 Jade를 HTML로 변환해야합니까?
ExpressJS에서 Jade 또는 HTML 색인 파일을 변환해야합니까? 내하는 index.js 파일에 VueJS, 코드를 사용하지 않고

이 같은 것입니다 :

app.set("view engine", "pug"); 
app.set("views", __dirname + "/templates"); 


app.get('/', function(req, res){ 
    res.render("index"); 
}); 

내가 꿀꺽를 사용하고자 할 때, 다음 ... 어떻게?

+0

이 작업을 진행 했습니까? – gurghet

+0

@ gurghet 시도했지만 실패했습니다. 나는 비취를 html로 컴파일해야합니까 (아시다시피, VueJS로 뷰를 제공하기 위해 ...)? 등 내가 VueJS + 옥을 올바르게 사용하는 방법에 대한 질문 (Stackoverflow)을 찾을 수 없습니다. – Chalic

+0

vue-cli 부트 스트랩 프로젝트 만 사용하십시오. 이것 모두를 포함하고 모든 것을 포장하기 위해 webpack을 사용합니다. – vbranden

답변

0

jade 파일을 HTML로 컴파일해야합니다. 나는 컴파일을 위해 prepros를 사용했다. 그러나 나는 이미 비취 대신 햄물로 옮겼다. 그러나 이것은 완벽하게 작동합니다.

인라인 자바 스크립트. 이

script. 
    if(usingJade) 
     console.log('you are awesome') 
    else 
     console.log('you are not awesome'); 
+0

예, 저는 SASS 컴파일 및 sth (JS uglify, minify)와 같은 작업에 Gulp를 사용하고 있습니다. 그래서 프로세스는 다음과 같아야합니다. 1. Jade를 HTML로 컴파일 (꿀꺽 꿀꺽 마시는 것). 2.Vue 구성 요소에 HTML 템플리트가 필요합니다. 3. 다른 모든 단계는 항상 마찬가지입니다. 나는 혼란 스러웠다. 이 이해가 맞습니까? – Chalic

5

ExpressJS를 사용하면 백 엔드에 살고 (실제로 .pug로 이름을 변경) 당신의 .jade 생성하고 HTML을 제공하는 템플릿을 사용합니다. 그 다음으로 Vue (클라이언트 측 프레임 워크)를 사용하여 원하는 모든 것을 개발할 수 있습니다.

... 
    body 
     p {{message}} 

    script(src='path/to/vue.js') 
    script. 
     const app = new Vue({ 
      el: 'body', 
      data(){ 
       return { 
        message: 'Hello World!' 
       } 
      } 
     }); 

그것은 간단한 예입니다 :

그래서, 무엇 당신이 할 수있는이 같은 .jade 템플릿 (.pug)를 만들 수 있습니다. 중요한 점은 항상 .jade를 제공하는 것입니다. 그런 다음 vue 라이브러리을 사용하면됩니다.

나중에 Gulp 및 Webpack-Stream 도구를 사용하여 .vue 파일을 컴파일하는 더 나은 프런트 엔드 개발에 접근 할 수 있습니다. 앱의 모든 스크립트를 컴파일

gulpfile.js이 같은는 :

gulp.task('scripts',() => { 
    return gulp.src("resources/assets/js/main.js") 
     .pipe(named()) 
     .pipe(webpack(require('./webpack.config'))) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(through.obj(function (file, enc, cb) { 
      // Dont pipe through any source map files as it will be handled 
      // by gulp-sourcemaps 
      var isSourceMap = /\.map$/.test(file.path); 
      if (!isSourceMap) this.push(file); 
      cb(); 
     })) 
     .pipe(sourcemaps.write('.')) 
     .pipe(gulp.dest("./public/js")) 
     .pipe(notify("Scripts compiled")); 
}); 

webpack.config.js의 내용은가 될 수있다 :

module.exports = { 
    devtool: 'source-map', 
    module: { 
     loaders: [ 
      { test: /\.vue/, loader: 'vue' }, 
     ], 
    }, 
}; 

* Webpack에서 .vue 파일을 컴파일하게하려면 vue-loader 패키지가 필요합니다.

당신은 완벽한 Express & Jade + VueJS 응용 프로그램을 개발할 수 있습니다.

도움이되기를 바랍니다.

+1

여기서 Gulp와 Webpack을 혼합하는 이유는 무엇입니까? – kaiser

0

일반적으로 웹팩을 사용하면 이미 목표를 달성하기에 충분합니다. 이전에 jade 템플릿과 .vue 파일을 사용하여 유사한 사례가있었습니다. 이를 바탕으로 example

관련 문제