上個express搭建的基礎上,
app.use('public',express.static('public'));
在項目目錄上創建public文件夾,再創建子文件夾image
test.js
let express = require('express');
let app = express();
app.use('/public',express.static('public'));
app.get('/',function(req,res){
res.send('測試')
})
let server = app.listen(8080,function(){
console.log('服務啟動');
})
這時候只要通過訪問localhost:8080/public/圖片.png
就可以訪問到托管到服務上的文件了
同樣的道理,我們可以把html文件托管上去,我們的html頁面就可以被訪問了
在我們項目的根目錄下,創建一個html文件,我這里創建的是testReq.html
app.use('/public',express.static('public'))
app.get('/testReq.html', function (req, res) {
res.sendFile( __dirname + "/" + "testReq.html" );
})
//這里的__dirname指的是獲取當前文件所在目錄的完整目錄
喜歡互聯網的一點是在互聯網放置靜態頁面是如此簡單。今天有人問我該怎么做,所以我想我會快速地寫下來!
-- Julia Evans(作者)
我喜歡互聯網的一點是在互聯網放置靜態頁面是如此簡單。今天有人問我該怎么做,所以我想我會快速地寫下來!
我的所有網站都只是靜態 HTML 和 CSS。我的網頁設計技巧相對不高( https://wizardzines.com 是我自己開發的最復雜的網站),因此保持我所有的網站相對簡單意味著我可以做一些改變/修復,而不會花費大量時間。
因此,我們將在此文章中采用盡可能簡單的方式 —— 只需一個 HTML 頁面。
我們要放在互聯網上的網站只是一個名為 index.html 的文件。你可以在 https://github.com/jvns/website-example 找到它,它是一個 Github 倉庫,其中只包含一個文件。
HTML 文件中包含一些 CSS,使其看起來不那么無聊,部分復制自 https://example.com 。
有以下幾步:
上面的 index.html 頁面位于 julia-example-website.neocities.com 中,如果你查看源代碼,你將看到它與 github 倉庫中的 HTML 相同。
我認為這可能是將 HTML 頁面放在互聯網上的最簡單的方法(這是一次回歸 Geocities,它是我在 2003 年制作我的第一個網站的方式):)。我也喜歡 Neocities (像 glitch ,我也喜歡)它能實驗、學習,并有樂趣。
這絕不是唯一簡單的方式,在你推送 Git 倉庫時,Github pages 和 Gitlab pages 以及 Netlify 都將會自動發布站點,并且它們都非常易于使用(只需將它們連接到你的 GitHub 倉庫即可)。我個人使用 Git 倉庫的方式,因為 Git 不會讓我感到緊張,我想知道我實際推送的頁面發生了什么更改。但我想你如果第一次只想將 HTML/CSS 制作的站點放到互聯網上,那么 Neocities 就是一個非常好的方法。
如果你不只是玩,而是要將網站用于真實用途,那么你或許會需要買一個域名,以便你將來可以更改托管服務提供商,但這有點不那么簡單。
如果你熟悉在 Git 中編輯文件,同時想練習 HTML/CSS 的話,我認為將它放在網站中是一個有趣的方式!我真的很喜歡它的簡單性 —— 實際上這只有一個文件,所以沒有其他花哨的東西需要去理解。
還有很多方法可以復雜化/擴展它,比如這個博客實際上是用 Hugo 生成的,它生成了一堆 HTML 文件并放在網絡中,但從基礎開始總是不錯的。
via: https://jvns.ca/blog/2019/09/06/how-to-put-an-html-page-on-the-internet/
作者: Julia Evans 選題: lujun9972 譯者: geekpi 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
們在開發網站時,與其在網站上線后花更多的時間來改善網站的頁面速度,不如讓我們從一開始就開發一個得分為100%的網站。
建立漂亮的網站從未如此簡單。如果建立一個人們實際上希望一次又一次回到的網站,自從輸入連接時代以來,這一直是一個挑戰。
當您希望人們回到您的網站時,會想到很多因素,包括您網站上的內容,圖像,用戶體驗以及對訪問者的價值。定義因素之一是頁面速度,這是用戶體驗的一部分。
頁面速度是網頁完全加載所花費的時間。在提供出色的用戶體驗方面,這是一個至關重要的因素。早在2018年,Google正式宣布將通過“速度”更新將頁面速度作為其排名中的一個因素。
●①頁面速度的重要性
頁面加載緩慢會反過來影響你網站的銷售。 客戶的注意力跨度較短,他們不希望等待頁面加載緩慢。
實際上,曾經谷歌的有項研究表明,如果您的網頁加載時間超過3秒,則有53%的移動用戶會去其他地方。
在加載緩慢的頁面上失去客戶并不是一個令人滿意的前景。
頁面速度在SEO中也起著至關重要的作用,緩慢加載頁面會受到搜索引擎的“處罰”。
較低的頁面速度也意味著搜索引擎可以使用分配的抓取預算來抓取更少的頁面,這會對您的索引產生負面影響。
●②較慢的頁面具有較低的轉換次數,較高的跳出率,最終使網站的訪問者數量減少。
如果你的公司將頁面速度用作吸引訪問者訪問網站的主要渠道,那么頁面速度過慢也會對付費搜索產生影響。網站速度不佳會損害你的質量得分。
質量得分決定了您支付的費用(每次點擊費用)以及你在搜索引擎結果頁(SERP)上的排名。如果你的質量得分較低,很可能您的廣告可能不會顯示在搜索結果的首頁上!
如您所見,頁面速度是確保潛在客戶獲得良好用戶體驗的關鍵因素。因此,當您單擊網站鏈接時會發生什么,以及如何提高頁面速度。
這是我們開始尋找如何優化網站以提高頁面速度的起點。就是當你單擊某個鏈接或者在瀏覽器中輸入名稱搜索時幕后情況的細分。
這就是當你單擊網頁時所發生的事情,但是在很多地方,您的頁面速度可能會出現瓶頸。當瀏覽器請求資源(例如圖像,CSS文件或視頻)時,可能會遇到問題。
當涉及到互聯網時,每個人都喜歡速度。可以說,更快的加載時間,更快的緩沖速率,更快的下載速度是不可或缺的一部分。
那么,確保快速網站的決定因素是什么?我們列出了幾個起最重要作用的:
●①共享服務器:單擊網站時,瀏覽器最初會向服務器發出請求,要求服務器提供構成網頁的各種元素-圖片,文本,視頻等。廉價的Web托管服務將您的網頁托管在共享服務器上,這實際上意味著您正在與許多其他網站共享Web資源。 事實證明,這可以顯著增加頁面加載時間,并帶來較差的用戶體驗。
解決方案:如果您考慮為要快速擴展的業務提供免費的虛擬主機服務,則可能是時候放棄免費服務并考慮為您提供專用服務器的主機了。
●②過大的圖像:對于任何瀏覽器來說,圖像都是棘手的部分,圖像越大,瀏覽器就越難加載它們。無論連接速度或服務器質量如何,擁有大量未經優化的圖像都會降低你的網頁速度。另一個重要因素是圖像格式。發現JPEG圖像的加載速度比GIF / PNG快得多。
解決方案:優化圖像,使用JPEG代替PNG,并確保圖像小于1 mb。
●③Javascript的問題:Javascript是使您的網頁具有交互性和動態性的魔力,沒有它,您的網頁的確會變得很呆板。但是未優化的JS代碼可能會對您的頁面速度產生負面影響。這是因為,當您的網頁加載時,它必須首先處理它遇到的所有Javascript文件。這導致所謂的“阻止渲染Javascript”(又稱為Javascript),阻止網頁快速加載。
解決方案:檢查你的Javascript代碼,顯示你網頁真正需要的內容。推遲Javascript加載,直到用戶看到網頁的其余部分為止。
●④不使用緩存:緩存是一種將常用數據點存儲在“緩存內存”中的技術。從緩存的內存中檢索服務器收到的針對同一項目的下一個請求,從而節省了時間。
解決方案:對一堆不同的元素(包括HTTP,圖像和數據庫查詢)使用緩存。
●⑤廣告過多/ Flash內容過多:每增加一個廣告,HTTP請求就會增加,這需要額外的處理時間。這意味著對用戶的瀏覽器以及你的服務器造成了額外的負擔,這極大地減慢了頁面加載時間。還發現Flash內容龐大且下載時間變慢。減少或消除Flash文件的大小勢必會極大地提高你的頁面速度。
解決方案:少用廣告,尤其是在它們占用大量服務器資源的情況下,例如視頻廣告或大量圖片廣告。嘗試使用HTML5替代而不是Flash。
盡管我們已經為人們傾向于犯下的大多數常見網頁愚蠢問題提供了解決方案,但是這里有一些其他方法可以提高頁面速度。
●①使用內容傳送網絡(CDN):
主要的優點是提高了向用戶發送內容的速度。CDN能幾乎涵蓋國內所有線路。而在可靠性上, CDN 在結構上實現了多點的冗余,即使某一個節點由于意外發生故障,對網站的訪問能夠被自動導向其他的健康節點進行響應。CDN能輕松實現網站的全國鋪設,不必考慮服務器的投入與托管、不必考慮新增帶寬的成本、不必考慮多臺服務器的鏡像同步、不必考慮更多的管理維護技術人員。
例如,如果您坐在北京時正在查看美國旅行網站,則請求將由本地PoP處理,以防止請求穿越大西洋。 CDN還具有其他優勢,例如減少帶寬消耗,處理大量流量的能力以及幫助您保持負載平衡。
●②縮小CSS,JavaScript和HTML
如果要加快網頁速度,除了使圖像等Web內容最小化之外,還需要減少客戶端服務器請求的數量。 縮小和壓縮所有不必要的和可壓縮的代碼行是初學者朝這個方向邁出的一步。
縮小對于內聯JavaScript和未緩存的外部文件非常方便。為了實現最佳頁面速度,建議縮小所有4096位以上的JavaScript文件。
利用所有可用的編碼空間編寫簡潔的代碼,刪除額外的空間,縮進和行空間,同時保持代碼的可讀性,從而減少了網站核心文件和前端文件的大小。
最小化HTML,CSS和JavaScript文件的其他好處包括減少網絡延遲,減少HTML請求,增強壓縮,更快的瀏覽器下載,從而提高頁面速度。
●③使用簡約框架
一個好的前端框架可以幫助你避免很多業余前端優化錯誤。一些較大的框架提供了大量的附加功能,但是你的網站可能并不需要全部。想象一下你的框架,就像要轉換為美麗花園的一塊空地。您需要修剪草并在預定的位置種植樹苗,但不能讓花園里堆滿雜草和不必要的植物。同樣,您有責任不要讓框架被冗余代碼,過多的HTTP請求和大圖像破壞。
2個技巧
●①擺脫后端服務器
第一個技巧是丟棄后端服務器。 我們并不是要完全避免使用后端,而是要一種解決方法,使依靠后端提供所有內容成為過去。
后端是你的網頁的一部分,該部分在服務器上運行,并以Node.js / Express,Java或.NET編寫。 后端在每次請求后動態獲取HTML數據。
當后端向API,數據庫發出請求以獲取應插入HTML的數據時,這些集成點很容易出現漏洞。緩慢的數據庫,損壞的API,網絡問題只是后端可能出錯的部分原因。
輸入JAM堆棧。 JAM代表JavaScript,API和標記。它是一種前端體系結構,在該結構中,您不必構建每個用戶一次的HTML,而是為用戶提供靜態HTML,而不是在每個用戶每次請求后都呈現HTML。
您可以將靜態HTML,JavaScript和CSS文件托管在AWS S3,Netlify或其他可提供靜態文件的提供程序上。
如果不能僅使用靜態網頁來運行站點,則仍然可以通過許多方法來實現JAM堆棧技術。第一種選擇是將您的網站分為JAM堆棧部分和基于服務器的部分。另一種技術是使用客戶端API來獲取數據。
●②將所有靜態內容移動到CDN
前面部分討論了CDN的優點。 CDN是一組地理上分散的服務器,可使用存在點(POP)幫助減少原始服務器上的負載。
當您即將達到服務器的帶寬容量時,卸載視頻,圖像,JavaScript和CSS文件之類的靜態資產將減少服務器的帶寬使用量。
CDN已優化為提供靜態內容,而邊緣CDN服務器將為該靜態內容提供客戶端請求。
如果您的流量的一小部分來自遙遠的地理區域,CDN也將派上用場,CDN可以通過將這些靜態資產緩存在距離最終用戶更近的邊緣服務器上來減少延遲。
根據對大量客戶網站測試的結果,有4成網站可以在5秒內打開,7成網站可以在10秒內打開,您可以參照這個范圍來設定您自己的標準。可以根據上述方案提高網站打開速度。
網站,尤其是企業網站,身為企業的身份照,就必須各方面都要符合用戶的喜愛,保證用戶擁有良好的體驗感,這樣才會產生合作的可能。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。