AngularJS、Node.js、Express4、MongoDBを使ったサンプルサイトなのですが、 とてもわかりやすいです。
このプログラムを参考にするといいと思います。
AngularJS、Node.js、Express4、MongoDBを使ったサンプルサイトなのですが、 とてもわかりやすいです。
このプログラムを参考にするといいと思います。
次のページがとても参考になります。
var http = require('http'); var fs = require('fs'); var url = require('url'); var server = http.createServer(); server.on('request', doRequest); server.listen(1337); function doRequest(req, res) { var path = url.parse(req.url); switch (path.pathname) { case '/': fs.readFile('./index.html', 'UTF-8', doRead); function doRead(err, data) { res.setHeader('Content-Type', 'text/html'); res.write(data); res.end(); } break; case '/hello': res.setHeader('Content-Type', 'text/plain'); res.end('Hello'); break; default: res.setHeader('Content-Type', 'text/html'); res.end('Error! - No Page-'); break; } } console.log('Server running at http://127.0.0.1:1337/');
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Index Page</title> </head> <body> <h1>Index</h1> <p><a href="/hello">GO HELLO!</p> </body> </html>
下記のサイトがおすすめです。 yutapon.hatenablog.com
このページでは、expressコマンドを用いて、expressアプリケーションを作成する方法について説明します。
なお、nodeとnpmはすでにインストール済みであることが条件です。 私の環境では、以下のバージョンとなります。 * npm 3.10.3 * node v6.3.0
express myexapp
でexpressアプリケーションが作成可能です。
npm install expressしてもexpress: command not foundとなる場合は、
以下のコマンドを実行してください。
npm install -g express-generator
詳細は以下のサイトに書いてあります。ありがとうございます。 http://qiita.com/armorik83/items/d8c74a78759f7af18dba
これで、myexappというフォルダの中に、app.jsファイルとその他のファイルが作成されました。
myexappのフォルダ内で、 node app.js
を実行して、サーバーを実行しようとしますが、
これだけでは、サーバーは起動しません。
app.js
にサーバー待ち受け処理が記述されていないためです。
以下をapp.jsの最後に追加してください。
これで、node app.js
で実行してサーバーの処理がスタートします。
app.listen(1234);
console.log('Server running at http://127.0.0.1:1234/');
[app.js]
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/users', users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app; app.listen(1234); console.log('Server running at http://127.0.0.1:1234/');
[./views/index.jade]
doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content
[./views/index.jade]
doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content
[./views/error.jade]
extends layout block content h1= message h2= error.status pre #{error.stack}
[./routes/index.js]
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router;
[./routes/users.js]
var express = require('express'); var router = express.Router(); /* GET users listing. */ router.get('/', function(req, res, next) { res.send('respond with a resource'); }); module.exports = router;