###### tags: `Node.js`
# Node.js 簡單的傳值練習
★以下各檔案皆是分開做簡單練習,皆可獨立運作,非需要互相調用的關係★
1.建立專案資料夾
2.利用CMD進入到該資料夾內,輸入指令 npm init
3.依照指示填入對應資料

4.填入完成後,產生package.json
5.安裝express,在資料夾內輸入指令 npm install express --save
以上完成Node.js的express的套件安裝
# 建立Web Server
app.js
```node.js=
var express = require('express');
var app = express();
var server = app.listen(5050,function(){
console.log('Node Server is running...');
});
```
利用express啟動server
# 設定路由
epserver.js
```node.js=
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send("<html><body><h1>Hello World</h1></body></html>");
});
app.post('/submit-data', function (req, res) {
res.send('POST Request');
});
app.put('/update-data', function (req, res) {
res.send('PUT Request');
});
app.delete('/delete-data', function (req, res) {
res.send('DELETE Request');
});
var server = app.listen(5000, function () {
console.log('Node server is running..');
});
```
| Html | Node.js |
| -------- | -------- |
| GET | app.get() |
| POST | app.post() |
| PUT | app.put() |
| DELETE | app.delete()|
利用Node.js中的這些函式來定義Html中的路由請求。
回傳函式參數則包含request, response兩個物件,
執行這些請求時,函式有所作用。
以上為設定路由範例!!!
# 撰寫路由
★安裝**body-parser**
輸入指令 **npm install body-parser –save**
這個模組的功能是用來解析JSON, buffer, 字串, 及 HTTP Post 請求提交的url 編碼資料。
postapp.js
```node.js
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/', function (req, res) {
res.sendFile(__dirname+'/index.html'); //回應靜態文件
});
app.post('/submit-student-data', function (req, res) {
var name = req.body.firstName + ' ' + req.body.lastName;
res.send(name + ' Submitted Successfully!');
});
var server = app.listen(5000, function () {
console.log('Node server is running..');
});
```
注意!在這例子中,app.get()裡的回傳函式,我們要以物件 res 回應一個 “靜態文件“,也就是我們另外新增好的 index.html,它必須用絕對路徑,所以,我們加了 __dirname,它是node.js關鍵字,用來返回目前這個.js檔的絕對路徑,後面附上 /檔名
