5

私は、オライリーの本「Node.js Up And Running」の第 2 章にある「Twitter を作ろう」というノード アプリに非常に不満を感じていました。

私は EJS を使用したことがなく、EJS ファイルにどの拡張子を付ければよいかさえ知りません。さらに、次のようなさまざまなエラーが発生してアプリを動作させることができません。

  • 部分が定義されていません
  • app.render('index'... を実行しているモジュール 'undefined' が見つかりません
  • モジュール「ejs」が見つかりません
  • 体が定義されていません

2章だけだからもっともどかしいし、別の素材に切り替えたほうがいいんじゃないかな…

4

6 に答える 6

10

あなたも O'Reilly Up and running book の第 2 章にある「Let's build twitter」プログラミング チュートリアルに不満を感じている場合は、この「アプリ」を機能させるための補足がここにあります。

前提条件:

  1. このアプリを動作させるには、Express のバージョンが 3.X 未満であることを確認してください。実際、バージョン 3.0 以降では「部分的な」サポートが削除され、現在はテンプレート固有になっています。そのため、必ずバージョン 2.x をインストールしてください。npm install express@2.x
  2. この本には、EJS ファイルの使用方法に関する情報はありません。少し調べた後、Express が EJS ファイルを理解して解析するには、ejs をインストールする必要があります。インストールは、他のモジュールと同様に非常に簡単です: npm install ejs.

肉:

  1. このアプリの場合、フォルダ内のすべてのファイルにviewspartials拡張子 .ejs が必要です
  2. EJS をインストールしましたが、express に EJS をapp.render()関数のテンプレート形式として使用するように指示する必要があります。これには 2 つの方法があります。

(1) EJS をデフォルトのテンプレート エンジンとして設定し、express にファイルをレンダリングするように指示するだけです。 app.set('view engine', 'ejs');

res.render('index', ...)

(2)app.render()関数に EJS を使用するように指示するだけで、express が処理します。

res.render('index.ejs', ...)

その時点で機能しない場合、またはまだ明確でない場合は、機能するコードを見るよりも良いことはありません。ここでアプリをフォークまたはダウンロードします。

他の読者に役立つことを願っています。

于 2012-07-29T22:30:40.863 に答える
2

EJS のサポートは Express v. 3 から削除されました。Express 3 と Jade テンプレートを使用して別の例を作成しました。

https://github.com/nosolopau/node-up-and-running-chirpie-express-3

于 2012-09-04T19:55:04.270 に答える
0

O'Reilly Book Node.js Up and Running - Part 1 => Chapter 2 Doing Interesting Things => Let's Build Twitter (Express 3.0 の作業コードと、パーシャルなしのノード レンダラー用の ejs 埋め込み JavaScript) ダウンロード ソース: https://github. com/thinkphp/express-つぶやき

于 2013-03-10T20:37:47.633 に答える
0

私もイライラしていたので、実際の例を作成しました-ここからダウンロードできます:

https://github.com/iotaweb/node-up-and-running-chirpie

于 2012-08-11T10:41:22.550 に答える
-1

Express@4 をインストールして問題を解決しました。エディターの外でコードを書くと、そのエラーが表示されます。

よろしく、にんがっぱ

于 2015-12-17T13:02:06.067 に答える