使用Express開發我的網站(一)

Express,基於Node.js平臺,快速、開放、極簡的 web 開發框架。javascript

  Node的出現,讓js有了運行在服務器端的可能,基於此的Express,能夠快速,簡單的搭建起一個服務器與我的網站。css

安裝

  首先安裝nodejs,具體安裝過程這裏再也不累述,進入到建立的應用目錄,使用npm init命令建立一個package.json 文件,這個命令會要求你輸入一些信息,好比像我的信息,應用的版本號等,能夠直接跳過使用默認,只有一個entry point除外,這個參數規定了當前應用的入口文件,你能夠使用app.js或者index.js一些你本身規定的入口文件。html

  接下來使用npm install express命令安裝express,若是須要將express加入到依賴表中就使用npm install express --save命令。java

  看一下應用的目錄:node

  

  client是主要的頁面文件,public是靜態文件,app.js入口文件git

Hello world

  在入口文件app.js中加入以下代碼,就能啓動一個簡單的服務器github

  

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

var server = app.listen(5277, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});

  輸入命令node app.js運行,結果以下:web

  

在網頁訪問localhost:5277能夠看到返回的Hello world。express

路由

  設置路由,當用戶訪問特定的URL能夠獲取相應的頁面。npm

  在client下放入一個index.html主頁文件,當用戶訪問主頁地址時發送此文件。

  主頁以下:

<html>
    <head>
        <meta charset="utf-8">
        <title>個人主頁</title>
    </head>
    
    <body>
        <h1>歡迎來到個人主頁</h1>
    </body>
</html>

  讀取文件須要引入node的文件模塊fs:

var fs = require('fs');

  使用readFile函數讀取文件, readFile(filename,[options],callback)

  filename:文件名或者路徑,必須

  options:可選參數,包括讀寫,不存在建立,已經encoding編碼屬性

  callback:回調函數,默認第一個參數error,第二個data

app.get('/', function (req, res) {
    fs.readFile('./client/index.html',function(error,data){
    if(error) {
            //錯誤,發生錯誤信息
        res.send('500 - Server Error');
    }else{
            //成功,發生文件,並設置類型爲‘text/html’
        res.set('Content-Type', 'text/html');
        res.send(data);
    }
   });
});

  運行,瀏覽器訪問localhost:5277,顯示以下

  須要在訪問圖片,css等靜態資源,能夠經過 Express 內置的 express.static 託管靜態文件,設置以下:

//public爲靜態資源文件地址
app.use(express.static('public'));

  在主頁中就能夠使用src="images/img.png"直接訪問圖片。

  

  完整代碼:https://github.com/Martian1/myweb

相關文章
相關標籤/搜索