2014-10-06 17 views
0

我只是有一個任務來實現一個簡單的Web服務器與REST接口和用戶授權,而不使用任何第三方框架,但我可以找到開始使用restify/express /別的99%的教程。並且很難獲得核心模塊中可用的功能,以及我可以使用什麼功能來實現所需的功能(以前從未使用過node.js)。是否有任何node.js教程使用ONLY核心模塊來實現restapi和auth?

UPD:繼承人我做了什麼,如果它可以幫助別人:https://github.com/danilaml/SimpleRestServer

+0

我會先看看** Express **如何工作。由於您必須使用核心模塊,** Express **會提供一個好主意如何開始。 https://github.com/strongloop/express – Jordonias 2014-10-06 19:09:25

+0

很多關注圖書館和框架的原因是因爲核心'http'模塊並不特別「友好*」。它是故意低級別的,只會自動解析請求的頭文件,所以您可能期望的許多歡暢都不存在。將'req.url'解析爲路徑和查詢字符串,測試'req.method'以及讀入和解析請求的正文由您來實現。 – 2014-10-06 19:29:34

+1

如果你有一個專業的任務要完成,我建議使用經過驗證的測試框架來完成。當你有自己的時間來理解Node.js時,「[Node Beginner](http://www.nodebeginner.org/)」是一本介紹「vanilla」Node.js的好書。 – 2014-10-06 19:36:47

回答

0

這是相當不錯的。簡單的穿行。我爲一項任務做同樣的事情。 https://gist.github.com/shimondoodkin/6213581。這是我有一個POST和404

'use strict'; 

var http = require('http'); 

var server = http.createServer(function(req, res) { 
    if (req.url === '/hello') { 
    res.writeHead(200, { 
     'Content-Type': 'application/json' 
    }); 

    if (req.method === "POST") { 
     console.log('post'); 
     var body = ''; 
     req.on('data', function(data) { 
     body += data.toString('utf-8'); 
     }); 
     req.on('end', function(data) { 
     body += data ? data.toString('utf-8') : ''; 
     var parsedBody; 
     try { 
      parsedBody = JSON.parse(body); 
     } catch(e) { 
      console.log(e); 
      res.write(JSON.parse({msg: 'invalid json'})); 
      return res.end(); 
     } 
     res.write(JSON.stringify({msg: 'hello ' + parsedBody.name})); 
     res.end(); 
     }); 
    } else { 
     res.write(JSON.stringify({msg: 'hello world'})); 
     res.end(); 
    } 
    } else { 
    res.writeHead(404, { 
     'Content-Type': 'application/json' 
    }); 

    res.write(JSON.stringify({msg: 'could not find page'})); 

    res.end(); 
    } 
}); 

server.listen(3000, function() { 
    console.log('server started'); 
}); 
+0

對不起,我想我沒有回答amd auth部分。希望這可以幫助。 – Erik 2015-07-18 14:41:40

+0

對不起,我只注意到我寫了amd而不是和> _ <。 – 2015-07-19 12:40:09

+0

由於我問了我的問題,我設法做了一些事情,雖然我並不爲此感到驕傲(這是我第一次嘗試js)。這裏是它可以幫助任何人:https://github.com/danilaml/SimpleRestServer – 2015-07-19 12:47:19

相關問題