極簡易node服務器

原因

  1. 在開發vue的過程當中,npm run build後生成的文件須要在服務端才能夠使用
  2. 本地使用引入less.min.js文件來進行調試時,也依賴服務器環境,不要吐槽爲何不用less-loader......
  3. 只須要放置一個靜態頁面的簡單服務器。
  4. etc.

以往使用的是相似基於appche的xammp工具,但xammp有些笨重(200M+),因而選擇用nodejs來實現一個簡單的服務,來放置頁面。javascript

現狀

nodejs自己已經提供了建立服務的方法createServer,但沒有提供頁面入口,express,koa等框架提供了,但略複雜。css

使用方法

所以,寫了一個簡單的無依賴的服務,用來預覽頁面。使用方法以下:html

git clone https://github.com/sumnow/simple-server.git
node server.js
複製代碼

打開瀏覽器http://localhost:8080 便可查看效果。vue

默認服務啓動在8080端口,預覽目錄下的index.html,能夠修改server.js來改變端口和頁面地址。java

var port = 8080;
var pagePath = "/index.html"
複製代碼

原理分析

原理就是Browser向Server請求頁面的時候,實際上是一個GET請求,不過是按照不一樣的Content-Type來解析node

"css": "text/css",
    "gif": "image/gif",
    "html": "text/html",
    "ico": "image/x-icon",
    "jpeg": "image/jpeg",
    "jpg": "image/jpeg",
    "js": "text/javascript",
    "json": "application/json",
    "pdf": "application/pdf",
    "png": "image/png",
    "svg": "image/svg+xml",
    "swf": "application/x-shockwave-flash",
    "tiff": "image/tiff",
    "txt": "text/plain",
    "wav": "audio/x-wav",
    "wma": "audio/x-ms-wma",
    "wmv": "video/x-ms-wmv",
    "xml": "text/xml"
複製代碼

例如以上的常見文件格式以及type,按照type返回給Browser就能夠正常解析啦。git

使用體驗

目前基於這個創建的自用FileServer運行良好~github

項目地址: github.com/sumnow/simp…express

相關文章
相關標籤/搜索