ExpressによるHello World
提供: Node.js/JavaScript入門
2014年4月5日 (土) 21:53時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「ここでは、ExpressでHello Worldを作成します。 __TOC__ == 概要 == == ひな形の生成 == <syntaxhighlight lang="bash"> $ express -t ejs helloapp ...」)
スポンサーリンク
ここでは、ExpressでHello Worldを作成します。
目次
概要
ひな形の生成
$ express -t ejs helloapp create : helloapp create : helloapp/package.json create : helloapp/app.js create : helloapp/public create : helloapp/public/images create : helloapp/public/stylesheets create : helloapp/public/stylesheets/style.css create : helloapp/public/javascripts create : helloapp/routes create : helloapp/routes/index.js create : helloapp/routes/user.js create : helloapp/views create : helloapp/views/layout.jade create : helloapp/views/index.jade install dependencies: $ cd helloapp && npm install run the app: $ node app
以下のファイル、ディレクトリが作成されます。
$ ls -1 app.js package.json public/ routes/ views/
$ find . . ./public ./public/images ./public/stylesheets ./public/stylesheets/style.css ./public/javascripts ./routes ./routes/index.js ./routes/user.js ./views ./views/layout.jade ./views/index.jade ./package.json ./app.js
インストール
$ cd helloapp $ sudo npm install -g
実行
3000ポートでlistenします。
$ export NODE_PATH=/usr/local/lib/node_modules $ node app.js Express server listening on port 3000
アクセスすると簡単なログが出ます。
$ node app.js Express server listening on port 3000 GET / 200 513ms - 170b GET / 200 50ms - 170b GET / 200 22ms - 170b GET / 200 15ms - 170b GET / 200 21ms - 170b GET / 200 20ms - 170b GET / 200 16ms - 170b GET / 200 19ms - 170b GET / 200 13ms - 170b
簡単なHTMLが返ってきます。
$ curl http://localhost:3000/ <!DOCTYPE html>Express Express
Welcome to Express
viewを書き換える
view/index.jade が indexページのテンプレートです。
extends layout block content h1= title p Welcome to #{title}
それでは、Welcomeな部分を書き換えます。
extends layout block content h1= title p Hello world, #{title}
実行例
これで、Hello World
$ node app.js
エラー
NODE_PATHの設定を忘れている場合
環境変数 NODE_PATH が設定されてない場合に、以下のエラーがでます。
$ node app.js module.js:340 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/tmp/helloapp/app.js:6:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)
jadeをインストールし忘れている場合
Express server listening on port 3000 Error: Cannot find module 'jade' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at new View (/usr/local/lib/node_modules/express/lib/view.js:43:49) at Function.app.render (/usr/local/lib/node_modules/express/lib/application.js:486:12) at ServerResponse.res.render (/usr/local/lib/node_modules/express/lib/response.js:798:7) at exports.index (/tmp/helloapp/routes/index.js:7:7) at callbacks (/usr/local/lib/node_modules/express/lib/router/index.js:164:37) at param (/usr/local/lib/node_modules/express/lib/router/index.js:138:11) GET / 500 25ms
関連項目
- Expressをインストールする
- ExpressによるHello World
ツイート
スポンサーリンク