如何快速搭建靜態資源服務器


前端開發中,經常遇到有些場景需要用到服務器環境,例如AngularJS中的路由,或者是模擬ajax獲取數據等需求時,這個時候並不需要考慮到服務端邏輯,只是搭建簡單的靜態資源服務,因此解決方法有很多,下面介紹幾種簡單快捷的常用方式:

使用http-server

如果你安裝了node,那么http-server就是個不錯的選擇,只需要一行命令就可以快速啟動。
安裝:

npm install -g http-server

在項目根目錄執行:

http-server -a 127.0.0.1 -p 8000

使用static-server

static-server很類似http-server,也是基於node,安裝和使用方法很相似:

npm install -g static-server

使用時只需要在項目目錄下指定該項目的入口文件即可:

static-server -i index.html

下面是一些常用的選項:

-p, --port 指定端口啟動
-i, --index 指定默認項目入口文件
-d, --debug 顯示錯誤信息
-n, --not-found 指定404頁面

詳見:https://www.npmjs.com/package/static-server

使用Python

如果你安裝了Python,那這個方法可能最簡便了,只需要在該目錄下執行命令:

python -m SimpleHTTPServer

這樣就啟動了一個靜態web服務器,此時項目的根目錄為執行命令時所在目錄,默認端口是8000,如果需要指定端口,則加上端口號啟動:

python -m SimpleHTTPServer 8080

使用Ruby

如果你安裝Ruby,Ruby也提供了一個很簡便的方式:

ruby -run -e httpd . -p 8888

使用Nginx

幾乎所有的web應用在最終部署到Linux上時都會用到Nginx做反向代理服務器,所以很有必要會用Nginx
下載,解壓,運行nginx.exe,在瀏覽器輸入localhost127.0.0.1,如果出現
Welcome to nginx!
則說明Nginx已經成功安裝。

下面是Nginx常用到的命令:

nginx -s reload                // 重新加載nginx配置
nginx -s stop

如果你的需求只是實現靜態資源服務,那么只需要如下簡單配置即可:root代表項目的根目錄,index代表默認的入口文件。

server {
    listen       80;
    server_name  localhost;

    location / {
        root   E:\Work\Workspace;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

這時候訪問 http://localhost/index.html 就OK了。

使用json-server

如果你的需求只是想模擬ajax從后台獲取數據,因為通常一個項目中前端開發和后台幾乎是同時進行的,開發初期往往需要前端自己構造假數據來渲染頁面,谷歌瀏覽器不在服務端環境下調試js,則會被視為跨域,從而導致無法獲取本地json數據,要不就使用火狐瀏覽器,較好的解決方法是快速搭建一個JSON服務器,這個時候json-server就是個不錯的選擇了。

安裝:

npm install -g json-server

在任意文件夾下創建一個json文件:如data.json:

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 },
    { "id": 2, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

在該目錄下啟動json-server來監聽這個文件:

json-server --watch data.json

# 或者指定端口啟動啟動
json-server --watch data.json --port 3004

可以看到json-server默認創建了三個請求資源,分別對應了data.json中的key值,很方便,這個時候瀏覽器訪問localhostL3000/db 就會看到當前data.json的數據了。

訪問http://localhost:3000/comments/1 ,則可以獲取到comments下id為1的json數據:

很神奇是吧,有了數據之后,可以讓json-server也作為靜態資源的服務器,這樣就沒有跨域問題了。
json-server默認的靜態資源(HTML,CSS,JS等)是在與json數據文件同級目錄下的public文件夾中,你只需要創建一個名為public的文件夾,把靜態資源放到public目錄下,然后直接運行以下命令啟動即可:

json-server data.json

假如我們需要指定靜態資源文件夾的位置,則可以通過指定目錄來啟動json-server即可,如指定靜態資源為json數據同級目錄的source文件夾下,則:

json-server data.json --static ./source

這樣,訪問http://localhost:3000/index.html 就可以成功加載到json數據了。

json-server還有很多更強大的功能,如支持模擬REST API操作等,更多的功能可以到json-server項目文檔查看。

使用一些IDE

例如:HBuilder


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM