js開發伺服器(js客戶端開發)

  • 1、如何用node.js寫一個比較複雜的web伺服器
  • 2、如何搭建nodejs伺服器環境?
  • 3、如何在node.js搭建伺服器
  • 4、windows node.js怎麼搭建伺服器
  • 5、ionic+angularjs開發app 伺服器怎麼選擇怎麼設置
  • 6、如何用express nodejs 創建web伺服器

您 高興您解答:

web伺服器包括三塊app.js程序入口負責響應url請求;route.js路由用發處理複雜業務邏輯;system.js配置文件用配置伺服器參數host、port等

首先看app.js引用模塊http處理url請求url用解析請求參數路徑path用匹配路徑擴展名o(╯□╰)ofs用讀取本靜態文件剩兩模塊面詳解

接式創建伺服器處理請求請求致兩類類靜態文件xxx.html、xxx.js等等另類進行業務處理見增刪查改操作部操作交給路由處理用簡單判斷邏輯:通綴名綴名system.js配置

讀取本文件候要注意點緩存客戶端發重複請求伺服器需要判斷文件自請求否發修改未修改返304加快瀏覽器端響應速度判斷式通判斷請求headerif-modified-since間本文件修改間否致致則返304否則重置該間第張圖代碼第二張圖通chrome調試工具看請求部間

需要進行業務處理則交給路由處理首先路由引入具體業務邏輯模塊通解析具體路徑名執行具體業務邏輯注意:由於node.js並發特性記傳入調函數獲相應處理結

望採納 謝謝

1、node_modules只是放一些依賴包,具體資料庫文件當然是放在mysql目錄下了。

2、要在不開編輯器前提下,使系統可訪問,你只要在控制台中定位到你系統的目錄後,使用node命令來啟動即可

準備

首先,需要安裝nodejs,這個可以去官網下載,目前我本地安裝的v0.12版本。

安裝完成後可以通過命令行測試安裝是否成功,輸入:node -v,應該會顯示當前安裝node版本號。

本文中用到的模塊,都是nodejs核心模塊,不需要從外部下載,如果有需要,可以使用以下命令安裝:npm install xxx。

開始

下一步,新建js文件,可以命名為server.js,代碼如下:

var http = require(‘http’);

var url = require(‘url’);

var path = require(‘path’);

var fs = require(‘fs’);

var dir, arg = process.argv[2] || ”; // 命令行第三個參數,用來接收目錄,可為空,相對當前server.js文件的目錄名稱

// 比如使用命令 node server debug,意思就是debug文件夾與server.js文件同級

// 且你想以debug文件夾啟動web服務

http.createServer(function (req, res) {

var pathname = __dirname + url.parse(req.url).pathname;

dir = dir ? dir : pathname; // 記住dir(目錄)

pathname = dir ? pathname.replace(dir, dir + arg + ‘/’) : pathname; // 替換文件靜態路徑

if (path.extname(pathname) == “”) {

pathname += “/”;

}

if (pathname.charAt(pathname.length – 1) == “/”) {

pathname += “index.html”; // 入口文件,此處默認index.html

}

fs.exists(pathname, function (exists) {

if (exists) {

switch (path.extname(pathname)) {

case “.html”:

res.writeHead(200, {“Content-Type”: “text/html”});

break;

case “.js”:

res.writeHead(200, {“Content-Type”: “text/javascript”});

break;

case “.css”:

res.writeHead(200, {“Content-Type”: “text/css”});

break;

case “.gif”:

res.writeHead(200, {“Content-Type”: “image/gif”});

break;

case “.jpg”:

res.writeHead(200, {“Content-Type”: “image/jpeg”});

break;

case “.png”:

res.writeHead(200, {“Content-Type”: “image/png”});

break;

default:

res.writeHead(200, {“Content-Type”: “application/octet-stream”});

}

// res可以自己添加信息來簡單交互 比如可以修改點header信息 或者修改返回的資源數據

fs.readFile(pathname, function (err, data) {

res.end(data);

});

}

else {

res.writeHead(404, {“Content-Type”: “text/html”});

res.end(“h1404 Not Found/h1”);

}

});

}).listen(8085, “127.0.0.5”); // 伺服器埠

console.log(“server running at “);

啟動

當node安裝完成及上述server.js文件也新建好之後。將其與你要訪問的文件夾放在一起,可以放同層或者直接下層。比如,如果你要訪問d:\test\debug文件夾。

你可以先將當前文件放入同層或者直接下,然後輸入如下命令啟動web服務:

先打開`cmd`,進入server文件所在目錄,比如是`test`目錄;

然後輸入:`node server debug`(同層), 或者`node server`(子層),

此時會提示`server running at `, 表示啟動服務成功;

最後打開瀏覽器,進入:`127.0.0.5:8085`,即可訪問此資源。

最後

簡單解釋下上面的代碼。

首先最上面的require表示需要用到那幾個模塊,先引用一下;

arg表示輸入的命令行的第三個參數,上面是做了手動截取;

createServer方法表示創建一個http服務,以函數為參數,本文代碼中傳入了一個匿名函數;

req,表示http request(請求)對象,其攜帶著來自客戶端此次http請求的相關信息,例如請求method、請求query參數、請求header頭信息等;

res,表示http response(返回)對象,用來給客戶端返回請求資源用,可以手動添加信息,例如返回的數據、返回的頭信息等、返回的code等;

fs,表示文件資源對象,具體可以訪問nodejs官網的api;

path,表示資源路徑對象,具體可以訪問nodejs官網的api。

listen表示創建的服務監聽,一旦訪問了此埠,將進入此前的匿名函數回調中,將資源返回給客戶端。

這個web伺服器包括三塊,app.js是程序入口,負責響應url請求;route.js是路由,用來分發處理複雜的業務邏輯;system.js是配置文件,用來配置伺服器參數,如host、port等

首先來看app.js,引用模塊,http處理url請求,url用來解析請求參數和路徑,path只是用來匹配路徑的擴展名o(╯□╰)o,fs用來讀取本地靜態文件,剩下兩個模塊後面詳解。

接下來正式創建伺服器處理請求,請求大致分兩類,一類是靜態文件,如xxx.html、xxx.js等等,另一類是進行業務處理,如常見的增刪查改操作,這一部分操作交給路由處理,這裡用了一個簡單的判斷邏輯:通過後綴名,後綴名在system.js中配置。

讀取本地文件的時候要注意一點,那就是緩存。如果客戶端發出重複請求,伺服器需要判斷文件自上次請求後是否發生了修改,如果未修改返回304,這樣可以加快瀏覽器端的響應速度。這裡的判斷方式是通過判斷請求的header的if-modified-since時間和本地文件修改時間是否一致,如果一致則返回304,否則重置該時間,第一張圖是代碼,第二張圖是通過chrome調試工具看到的請求頭部時間。

如果需要進行業務處理,則交給路由處理了。首先路由引入具體的業務邏輯模塊,然後通過解析具體的路徑名來執行具體的業務邏輯,這裡注意的是:由於node.js的並發特性,記得傳入回調函數來獲得相應的處理結果。

1. 用ionic和ng(angular)不需要伺服器 電腦能上網就行(本回復只計入android )

2.你需要安裝node環境(建議用4.2.6版本) 貼上網址:Node.js 還有java的 安裝C++ 環境,一般電腦都裝有.

3.安裝npm ,npm (cmd命令行 npm -v出版本號代表安裝成功 或者 npm version)

4.通過cmd命令行依次安裝 npm install ionic cordova (記得命令行cd切換到你的項目文件夾中再執行命令 ,不然你找不到安裝的東西)

5.創建項目模板 start myApp sidemenu/ tabs/blank (列舉了三種其中tabs比較常用)

6.生成的www文件中用index修改內容和路由,然後添加項目平台 ionic platform add android

7.打包 ionic build android 可以在platforms -android-build -outputs-apk 就成功了

1、打開Dreamweaver,按照圖中標示出來的地方點擊,打開站點管理界面。

如果原來沒有站點,這裡會直接顯示管理站點,直接點擊就行。

2、在彈出的管理站點界面,點擊新建按鈕,進入站點配置界面

3、在站點配置界面,輸入站點的名稱,這裡是方便自己本地管理的,在站點文件夾下選擇本地的網站文件夾。

4、選擇左側伺服器選項卡,點擊選項卡下方的「+」號,彈出伺服器配置界面。

5、在伺服器配置界面,輸入伺服器名稱,管理用的,然後在鏈接方法上選擇「本地/網路」

6、輸入伺服器文件夾,這裡選擇和第三步的站點路徑一樣。web url選項這裡配置的是網站文件夾名/,配置完成保存即可。

7、打開瀏覽器輸入網站文件夾名/,這時就能看到自己網站的首頁了,如果沒有首頁,自己建一個txt文檔,隨便輸入幾個字就行,然後另存為index.html。如果能正常打開頁面,說明站點配置成功

注:如果是動態網站,需要提前配置好運行環境

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126391.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Python調用crt telnet客戶端的實現

    本篇文章將詳細介紹如何使用Python調用crt telnet客戶端。我們將從以下幾個方面進行闡述: 一、安裝crt telnet客戶端 首先,我們需要下載並安裝crt telne…

    編程 2025-04-28
  • 如何選擇MySQL伺服器文件許可權

    MySQL是一種流行的關係型資料庫管理系統。在安裝MySQL時,選擇正確的文件許可權是保證安全和性能的重要步驟。以下是一些指導您選擇正確許可權的建議。 一、許可權選擇 MySQL伺服器需…

    編程 2025-04-27
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27

發表回復

登錄後才能評論