3分鐘快速搭建nodejs本地服務(wù)器方法運(yùn)行測(cè)試html/js
做前端的都知道,公司的項(xiàng)目在自己的電腦上搭建環(huán)境是挺麻煩的一件事情
- 首先:一般個(gè)人電腦沒(méi)公司的配置性能好,
- 其次:搭建公司項(xiàng)目在自己電腦涉及很多緩存環(huán)境,資源環(huán)境包,數(shù)據(jù)庫(kù)等的限制,加起來(lái)夠搞一天了(熟悉公司搭建的環(huán)境除外)
就我自身公司而言情況是這樣,我作為前端工程師,
前端目前是基于polymer——實(shí)現(xiàn)最近遇到的問(wèn)題就是不知道自己寫(xiě)的頁(yè)面有沒(méi)有什么問(wèn)題,但是要成功啟動(dòng)項(xiàng)目的tomcat才能看,因?yàn)檫@些頁(yè)面無(wú)法直接打開(kāi),會(huì)包資源解析錯(cuò)誤,
于是我在想,如何才能把前端頁(yè)面不依賴tomcat這些部署服務(wù)器呢?
于是百度看到了nodejs和nginx,帶著對(duì)前端服務(wù)器的好奇開(kāi)始了自己的實(shí)踐,一個(gè)晚上也請(qǐng)教了一些同學(xué),然后得到了一些啟發(fā)
步驟如下
1、到nodejs官網(wǎng)下載安裝包http://nodejs.cn/安裝完成后自動(dòng)映射環(huán)境到系統(tǒng)中,不需要自己配置環(huán)境變量,然后打開(kāi)控制臺(tái)
輸入命令:node
沒(méi)有報(bào)錯(cuò)表示運(yùn)行成功
2、接著在與測(cè)試目錄同級(jí)目錄下面新建下面兩個(gè)js文件
http.js(服務(wù)器腳本配置文件)
var PORT = 3000;// var http = require('http'); var url=require('url'); var fs=require('fs'); var mine=require('./mine').types;// var path=require('path'); var server = http.createServer(function (request, response) { var pathname = url.parse(request.url).pathname; var realPath = path.join("webapp", pathname); //這里設(shè)置自己的文件名稱(chēng); var ext = path.extname(realPath); ext = ext ? ext.slice(1) : 'unknown'; fs.exists(realPath, function (exists) { if (!exists) { response.writeHead(404, { 'Content-Type': 'text/plain' }); response.write("This request URL " + pathname + " was not found on this server."); response.end(); } else { fs.readFile(realPath, "binary", function (err, file) { if (err) { response.writeHead(500, { 'Content-Type': 'text/plain' }); response.end(err); } else { var contentType = mine[ext] || "text/plain"; response.writeHead(200, { 'Content-Type': contentType }); response.write(file, "binary"); response.end(); } }); } }); }); server.listen(PORT); console.log("Server runing at port: " + PORT + ".");
mine.js(引入對(duì)應(yīng)的文件)
exports.types = { "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" };
上面兩個(gè)js新建成功后,打開(kāi)http.js,接著在里面找到路徑設(shè)置,把我當(dāng)前webapp改成你自己的名字項(xiàng)目名稱(chēng)
Friendship tips:(前提是跟js在同級(jí)個(gè)目錄。如果測(cè)試項(xiàng)目在其他文件,那么路徑可能要設(shè)置絕對(duì)路徑了_這個(gè)我沒(méi)嘗試)
下面是我的目錄對(duì)應(yīng)的文件,三個(gè)箭頭是必備的其他無(wú)需設(shè)置
3、控制臺(tái)啟動(dòng)服務(wù)器測(cè)試是否成功
見(jiàn)下圖:
打開(kāi)項(xiàng)目所在目錄輸入node http.js
接著提示端口啟動(dòng)成功,
接著直接輸入自己需要測(cè)試的文件地址就行了。比如我的 http://localhost:3000/index.html
到此全部部署完成!
這里注意:一定要在端口號(hào)后面加上自己文件路徑才能運(yùn)行成功。不然會(huì)報(bào)錯(cuò)因?yàn)閔ttp.js里面寫(xiě)的比較簡(jiǎn)單,暫時(shí)未直接映射
http://localhost:3000
如果出錯(cuò)了那么請(qǐng)重寫(xiě)啟動(dòng)服務(wù)
即:Node.js
當(dāng)然你有興趣的話可以重寫(xiě)node.js完善它
最后表示:這兩個(gè)js都是我在博客和百度上看到一些大牛寫(xiě)的,不過(guò)他們的寫(xiě)的教程不夠清晰(本人水平不足不能跟上他們的思路), 所以再次感謝這些博客大牛.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
用Nodejs搭建服務(wù)器訪問(wèn)html、css、JS等靜態(tài)資源文件
本篇文章主要介紹了用Nodejs搭建服務(wù)器訪問(wèn)html、css、JS等靜態(tài)資源文件的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析
這篇文章主要為大家介紹了Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12npm?install編譯時(shí)報(bào)"Cannot?read?properties?of?null?(r
這篇文章主要給大家介紹了關(guān)于npm?install編譯時(shí)報(bào)“Cannot?read?properties?of?null?(reading?‘pickAlgorithm‘)“錯(cuò)誤的解決辦法,文中將解決方法介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07NodeJS前端自動(dòng)化部署實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了NodeJS前端自動(dòng)化部署實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10深入了解 Node的多進(jìn)程服務(wù)實(shí)現(xiàn)
本文主要介紹了Node的多進(jìn)程服務(wù)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06node基于express框架操作Mysql數(shù)據(jù)庫(kù)的步驟
這篇文章主要介紹了node基于express框架操作Mysql數(shù)據(jù)庫(kù)的步驟,文章給大家提到安裝mysql模塊和配置mysql模塊的步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03VSCode通過(guò)Ctrl+P快速打開(kāi)node_modules中的文件的操作方法
由于node_modules目錄包含的文件太多,在VSCode中默認(rèn)情況下是禁止搜索node_modules目錄的,在這種情況下,我們將不得不依次展開(kāi)node_modules的文件目錄樹(shù),來(lái)查找我們所需要的文件,接下來(lái)介紹VSCode如何通過(guò)Ctrl+P快速打開(kāi)node_modules中的文件,需要的朋友可以參考下2023-07-07nodejs開(kāi)發(fā)——express路由與中間件
本篇文章主要介紹了nodejs開(kāi)發(fā)——express路由與中間件 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03