2016-07-09 1 views
3

ExpressJS、VueJS、およびJadeを併用するベストプラクティスは何ですか?ExpressJS、VueJS、Jadeを一緒に使うには?

ちょっと愚かな質問ですが、VueJSがJadeファイルを扱うことができないため、JadeをHTMLに変換する必要がありますか?
ExpressJSでJadeやHTMLのインデックスファイルを提供する必要がありますか? VueJSを使用せずに、私のindex.jsファイル内のコードは、このようなものである

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 + Jadeを正しく使う方法について何も質問していません(Stackoverflowで)。 – Chalic

+0

vue-cliブートストラッププロジェクトを使用してください。これはすべてこれを含み、すべてをパッケージ化するためにwebpackを使用します。 – vbranden

答えて

0

jadeファイルをHTMLにコンパイルする必要があります。私はコンパイルのためにプリプロを使用しました。しかし、私はすでにヒスイの代わりにハムに移ります。しかし、これは完全に動作します。

for inline javascriptこの

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にコンパイルする(gulpを使用)。 2。VueコンポーネントにHTMLテンプレートが必要です。3.他のすべての手順は、常に同じです。私はちょうど混乱していた。このことは正しいのでしょうか? – Chalic

5

ExpressJSを使用して、バックエンドに住んでいると(実際に.pugと改称)あなたの.jade生成したHTMLを提供するためのテンプレートを使用しています。そしてそれだけです。次に、Vue(クライアントサイドフレームワーク)を使用して、必要なものを開発することができます。

だから、何を行うことができ、このような.jadeテンプレート(.pug)を作成し、次のとおりです。

... 
    body 
     p {{message}} 

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

それは簡単な例です。重要なのは、あなたはいつものように.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

一般的には、webpackを使用することですでに目標を達成することができます。 私はエントリー・ジェイド・テンプレートと.vueファイルで似たようなケースを持っています。これに基づいてexample

関連する問題