日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Day 8: Harp.JS——现代静态web服务器

發(fā)布時(shí)間:2025/3/21 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Day 8: Harp.JS——现代静态web服务器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

到目前為止,我們的“30天學(xué)習(xí)30種技術(shù)”系列已經(jīng)討論了Bower、AngularJS和GruntJS。這些最新的技術(shù)可以幫助開(kāi)發(fā)者更高效地開(kāi)發(fā),也可以減輕開(kāi)發(fā)者的負(fù)擔(dān)。今天,我們將學(xué)習(xí)另一項(xiàng)新JavaScrit技術(shù),它叫做Harp。在本文中,我們將開(kāi)始了解Harp的基礎(chǔ),接著我們將創(chuàng)建一個(gè)簡(jiǎn)單的Harp應(yīng)用,最后將此應(yīng)用部署到OpenShift。

Harp是什么?

Harp是為現(xiàn)代web應(yīng)用準(zhǔn)備的開(kāi)源靜態(tài)服務(wù)器。它可以為Jade、Markdown、EJS、CoffeeScript、LESS、Stylus和HTML、CSS、Javascript提供服務(wù),無(wú)需任何配置。

由于越來(lái)越多的開(kāi)發(fā)轉(zhuǎn)向客戶端,開(kāi)發(fā)者們開(kāi)始使用替代語(yǔ)言,然后將其編譯為原生語(yǔ)言。比如,我們使用諸如Jade和EJS之類的模板庫(kù),而不是直接編寫HTML。同理,我們可以使用CoffeeScript,而不是直接寫JavaScript。至于樣式,我們可以用Stylus和LESS取代CSS。

Harp是零配置的服務(wù)器,用于為靜態(tài)資源提供服務(wù)。它內(nèi)置了對(duì) .jade、.markdow、.ejs、.coffee、.less、.styl和.html、.css、.js 的支持。

Harp依賴

Harp依賴于NodeJS和NPM包管理器(node.js安裝自帶NPM)。你可以從官網(wǎng)下載最新版的NodeJS。一旦安裝了node.js和NPM,就可以使用NPM安裝Harp。

安裝Harp

輸入如下命令安裝Harp。

npm install -g harp

以上命令將全局安裝harp包,這樣在任何目錄都可以使用harp命令。

(取決于你系統(tǒng)的設(shè)置,你可能需要在命令前加上sudo。)

創(chuàng)建Harp項(xiàng)目

harp命令行讓我們可以方便地創(chuàng)建harp應(yīng)用。創(chuàng)建一個(gè)應(yīng)用,只需使用harp init命令。

harp init blog

這會(huì)創(chuàng)建一個(gè)名為blog的目錄,結(jié)構(gòu)如下:

harp創(chuàng)建的項(xiàng)目默認(rèn)使用Jade(html)和LESS(css)。

啟動(dòng)Harp服務(wù)

我們可以使用harp server命令來(lái)運(yùn)行應(yīng)用:

$ cd blog $ harp server_____ _____ _____ _____ /l l /l l /l l /l l /::l____l /::l l /::l l /::l l /:::/ / /::::l l /::::l l /::::l l /:::/ / /::::::l l /::::::l l /::::::l l /:::/ / /:::/l:::l l /:::/l:::l l /:::/l:::l l /:::/____/ /:::/__l:::l l /:::/__l:::l l /:::/__l:::l l /::::l l /::::l l:::l l /::::l l:::l l /::::l l:::l l /::::::l l _____ /::::::l l:::l l /::::::l l:::l l /::::::l l:::l l /:::/l:::l l /l l /:::/l:::l l:::l l /:::/l:::l l:::l____l /:::/l:::l l:::l____l /:::/ l:::l /::l____l/:::/ l:::l l:::l____l/:::/ l:::l l:::| |/:::/ l:::l l:::| | l::/ l:::l /:::/ /l::/ l:::l /:::/ /l::/ |::::l /:::|____|l::/ l:::l /:::|____|l/____/ l:::l/:::/ / l/____/ l:::l/:::/ / l/____|:::::l/:::/ / l/_____/l:::l/:::/ / l::::::/ / l::::::/ / |:::::::::/ / l::::::/ / l::::/ / l::::/ / |::|l::::/ / l::::/ / /:::/ / /:::/ / |::| l::/____/ l::/____/ /:::/ / /:::/ / |::| ~| ~~ /:::/ / /:::/ / |::| | /:::/ / /:::/ / l::| | Harp v0.9.4 l::/ / l::/ / l:| | Static Web Server l/____/ l/____/ l|___| By Chloi Inc. 2012-2013 Your server is listening at http://localhost:9000/

現(xiàn)在,訪問(wèn) http://localhost:9000/ 你會(huì)看到如下頁(yè)面:

https://www.openshift.com/sites/default/files/images/harp-sample-app.png

我們打開(kāi)index.jade文件,做一些改動(dòng):

h1 Welcome to Harp. h3 This is my blog. Enjoy.

刷新一下瀏覽器,我們就能看到改動(dòng)了。

部署到云端

部署harp應(yīng)用有多種方式,詳見(jiàn)文檔。我將介紹如何部署到 OpenShift。

OpenShift是一個(gè)公開(kāi)的PAAS,你可以使用OpenShift免費(fèi)部署Java、NodeJS、Ruby、Python和PHP應(yīng)用。

在我們部署應(yīng)用到OpenShift之前,我們需要先設(shè)置一下:

  • 注冊(cè)一個(gè)OpenShift賬號(hào)。注冊(cè)是完全免費(fèi)的,Red Hat給每個(gè)用戶三枚免費(fèi)的Gear,可以用Gear運(yùn)行你的應(yīng)用。在寫作此文的時(shí)候,每個(gè)用戶能免費(fèi)使用總共 1.5 GB 內(nèi)存和 3 GB 硬盤空間。

  • 安裝 rhc客戶端工具。rhc是ruby gem,因此你的機(jī)子上需要裝有 ruby 1.8.7以上版本。 只需輸入 sudo gem install rhc即可安裝 rhc 。如果你已經(jīng)安裝過(guò)了,確保是最新版。運(yùn)行sudo gem update rhc即可升級(jí)。關(guān)于配置rhc命令行工具的詳細(xì)信息,請(qǐng)參考: https://openshift.redhat.com/community/developers/rhc-client-tools-install

  • 使用 rhc 的 setup 命令配置你的 OpenShift 賬號(hào)。這個(gè)命令會(huì)幫助你創(chuàng)建一個(gè)命名空間,同時(shí)將你的ssh公鑰上傳至 OpenShift 服務(wù)器。

  • 設(shè)置之后,我們可以通過(guò)如下命令創(chuàng)建一個(gè)新的OpenShift應(yīng)用。

    rhc create-app blogonopenshift nodejs-0.10

    這會(huì)為我們創(chuàng)建一個(gè)名為gear的應(yīng)用容器,并自動(dòng)配置相應(yīng)的SELinux政策和cgroup設(shè)置。OpenShift同時(shí)會(huì)為我們創(chuàng)建一個(gè)私有的git倉(cāng)庫(kù),并將其克隆到本地。最后,OpenShift會(huì)自動(dòng)配置DNS。應(yīng)用可以在如下地址訪問(wèn)

    http://blogonopenshift-{domain-name}.rhcloud.com/

    將{domain-name}替換為你自己的OpenShift域名(也叫命名空間)。

    接著,跳轉(zhuǎn)到blogonopenshift文件夾,初始化一個(gè)新的harp項(xiàng)目。

    cd blogonopenshift harp init _harp

    這會(huì)在blogonopenshift目錄的_harp文件夾中創(chuàng)建harp應(yīng)用。

    修改blogonopenshift目錄中的package.json,添加harp依賴。

    {"dependencies": {"harp" : ">=0.8"} }

    然后,使用NPM安裝依賴:

    npm install

    接著修改server.js:

    require('harp').server("_harp", { ip : process.env.OPENSHIFT_NODEJS_IP, port: process.env.OPENSHIFT_NODEJS_PORT})

    在上面的例子中,我們創(chuàng)建了一個(gè)harp服務(wù)器的實(shí)例。我們把與該服務(wù)器綁定的OpenShift環(huán)境下的ip地址和端口號(hào)傳遞給它。在云環(huán)境中,建議使用環(huán)境變量,而不是寫死了的值。

    如果你現(xiàn)在將代碼推送到OpenShift,它還不能工作。這是因?yàn)閔arp API沒(méi)有提供配置IP地址的選項(xiàng)。為此我在GitHub的harp倉(cāng)庫(kù)上開(kāi)了一個(gè)工單。就目前而言,我們需要打開(kāi)node_modules/harp/lib目錄下的index.js文件,修改下server函數(shù):

    /*** Server** Host a single Harp Application.**/exports.server = function(dirPath, options, callback){connect.createServer(middleware.regProjectFinder(dirPath),middleware.setup,middleware.underscore,middleware.mwl,middleware.static,middleware.poly,middleware.process,middleware.fallback).listen(options.port,options.ip , callback) }

    本地提交代碼,然后推送變動(dòng)到云端。

    git add . git commit -am "blogonopenshift app deployed to cloud" git push

    推送代碼之后,應(yīng)用被部署到OpenShift上,我們可以在http://blogonopenshift-{domain-name}.rhcloud.com上訪問(wèn)我們的應(yīng)用。我們的示例應(yīng)用跑在 http://blog-shekhargulati.rhcloud.com 上。

    今天就這些了。我希望這會(huì)有用。請(qǐng)繼續(xù)反饋。

    from: http://segmentfault.com/a/1190000000355181

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的Day 8: Harp.JS——现代静态web服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 中文字幕日韩欧美在线 | 伊人色综合网 | 国产社区在线 | 小泽玛利亚一区二区三区在线观看 | www.日批| 日韩一二三四 | 午夜激情一区二区 | av影音先锋 | 国产99久久九九精品无码免费 | 黄色一几片 | 亚洲12p | 又粗又猛又爽又黄少妇视频网站 | 国产精品美女一区二区 | 国产一区二区三区毛片 | 亚洲97 | 欧美一区二区日韩 | 亚洲国产福利视频 | 好吊色免费视频 | 国产成年无码久久久久毛片 | www.97av.com| 国产高清小视频 | 日本大尺度电影免费观看全集中文版 | 四虎一区二区 | 国产午夜精品在线观看 | 日本久久久久久久久久 | 91一区二区三区四区 | 国产不卡网 | 日韩精品专区 | 999久久精品 | 免费黄色国产视频 | 午夜激情小视频 | 国产盗摄一区二区 | 91午夜交换视频 | 朝桐光一区二区三区 | 蜜桃91麻豆精品一二三区 | 啦啦啦av | 久久在线视频精品 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 中文不卡av | 久久久久久网站 | 无码一区二区三区视频 | 亚洲精品亚洲人成人网 | 91禁蘑菇在线看 | 插插看 | 最新国产在线视频 | 日本不卡影院 | 久久精品免费在线观看 | 国产亚洲一区二区三区 | 国产精品久久久久久久av | 日本极品喷水 | 九色porny丨精品自拍视频 | 91麻豆精品久久久久蜜臀 | 狠狠入 | 男人天堂手机在线观看 | 黄色1级视频 | 免费激情| 三级av免费 | 国产性生活视频 | 欧美久久影院 | 日韩国产精品一区二区 | 亚洲综合伊人 | 日本黄色短片 | 情欲超 | 亚洲女人av | 波多野结衣视频网站 | 91黄免费 | 91极品尤物 | 亚洲天堂2018av| 寡妇高潮一级视频免费看 | 538在线精品 | 国产伊人精品 | 贵族女沦为官妓h呻吟 | 一区二区三区久久久久 | 一级黄色录象 | 超碰av在线免费观看 | 美女黄色真播 | 天天做天天爱夜夜爽 | 婷婷的五月 | 精品中文在线 | 打白嫩屁屁网站视频短裙 | 看毛片的网址 | 国产999精品久久久久久 | 国产喷水吹潮视频www | 精品一区二区三区人妻 | 欧美xxxx18国产 | 动漫一区二区三区 | 国产在线视频你懂的 | 91精品国产乱码久久久张津瑜 | 高清久久久久久 | www.久久综合 | 国产激情无码一区二区 | 免费av大全 | 激情婷婷久久 | 欧美又大又硬又粗bbbbb | 久久久久人妻一区二区三区 | 天天插日日插 | 日本美女性生活视频 | 成人理论影院 | 日本电影成人 |