テンプレートエンジンなしでExpressを使用します
質問
JadeやEJSなどのテンプレートエンジンを必要とせずに、Express(ノード)アプリケーションを作成することは可能ですか?私は大学で大規模な最終年度プロジェクトを持っていますが、ノード、Express、Socket.io、Mongodb、WebSocketsを使用する予定です。テンプレート言語も学ばなければならないことを自分に負担したくありません!
デフォルトでは、ExpressはJadeを使用します-t、 - テンプレートの追加テンプレートサポート(Jade | ejs)を追加します。デフォルト=ジェイド
解決
JadeやEJSなどのテンプレートエンジンを必要とせずにExpress(ノード)アプリケーションを作成することは可能ですか
はい、そうです。 HTMLを使用できます。または、EJSを使用するだけです。 EJSはHTMLのスーパーセットです。
テンプレート言語も学ばなければならないことを自分に負担したくありません!
1日でテンプレート言語を学ぶことができます。それは本当にあなたを助けるつもりです。早くやれよ。価値がある。
他のヒント
別のテンプレート言語の学習を避けたい場合は、アンダースコアテンプレートを試してみてください。彼らはただのJavaScriptであり、とにかく学ぶつもりです。
documentcloud.github.com/underscore/#template
でセットアップできます。
app.register('.html', {
compile: function(str, options){
var compiled = require('underscore').template(str);
return function(locals) {
return compiled(locals);
};
}
});
これを行う最も簡単な方法は、デフォルトのapp.get( '/')...次のラインを置き換えることです。次に、すべての魔法をindex.htmlに入れます。これは、少なくとも単一のページアプリでは非常にうまく機能します。
以下で
app.get('/', function(request, response) {
var readFile = "index.html";
var fileContents = fs.readFileSync(readFile);
response.send(fileContents.toString());
});
現在の最良のオプションは、EJS(エンジン)を使用し、HTMLを受け入れてレンダリングするように構成することです。
app.set('views', path.join(*__dirname*, 'views'))
app.set('view engine', 'ejs'); // template engine
app.engine('html', require('ejs').renderFile); // turn engine to use html
注:すべてのビューまたはテンプレートにはあります .html
拡大。