Skip to content

zh

使用Meteor在五分鐘內建立一個超棒的聊天應用程式

在這個教程中,我將向你展示如何使用MeteorJS編寫一個簡單的聊天應用程式。

這裡有一個我們目標的實際演示:http://hrr2demo.meteor.com/

和GitHub上的原始碼:https://github.com/victorleungtw/hrr2demo

在我們開始之前,隨意嘗試演示並分叉存儲庫。

什麼是Meteor?

Meteor是一個用於使用JavaScript構建實時應用程式的出色網絡框架。它基於NodeJS和MongoDB。

步驟1:安裝Meteor

對於macOS和Linux用戶,在終端機中運行以下命令:

> curl [https://install.meteor.com/](https://install.meteor.com/) | sh

步驟2:創建新應用程式

> meteor create awesomeChatApp

然後更改為你應用程式的目錄:

> cd awesomeChatApp

嘗試運行它:

> meteor

並在瀏覽器中打開此地址:http://localhost:3000

步驟3:創建資料夾和檔案結構

使用命令刪除默認檔案:

> rm awesomeChatApp.*

創建三個資料夾:

> mkdir client server both

按慣例,我們將把在客戶端(即,用戶的瀏覽器)運行的任何內容放在“client”資料夾中,將在服務器端運行的任何內容放在“server”資料夾中,將由客戶端和服務器共同訪問的任何內容放在“both”資料夾中。

步驟4a:創建收集來儲存訊息

在'both'文件夾內,我們將在這裡放置我們的模型。

> touch collection.js

創建一個新的'messages'集合:

Messages = new Meteor.Collection("messages")

步驟4b:創建索引頁

在'client'文件夾內,我們將在此處放置我們的首頁視圖。

> touch index.html

使用以下HTML:

<head>
  <title>chatterbox</title>
</head>
<body>
  {{> loginButtons align="right"}} # chatterbox {{> input}} {{> messages}}
</body>

步驟4c:創建帶有助手的HTML模板

為了更好地組織我們的檔案,我們可以創建一個新的文件夾:

> mkdir messages > cd messages > touch messages.html

現在,我們創建一個名為'messages'的模板。

<template name="messages">
  {{#each messages}} {{name}}: {{message}} {{/each}}
</template>

並且我們將創建助手以通過在'Messages'集合中的每個消息。

Template.messages.helpers({
  messages: function () {
    return Messages.find({}, { sort: { time: -1 } })
  },
})

步驟4d:創建帶有事件處理程序的HTML模板

同樣,我們將為輸入框和提交按鈕創建一個模板。

> mkdir input > cd input > touch input.html
<template name="input">
  <form id="send">
    <input id="message" type="text" />
    <input type="submit" value="Submit" />
  </form>
</template>

另外,我們將創建一個JavaScript文件來處理提交按鈕的點擊事件。

Template.input.events({
  "submit form": function (event) {
    event.preventDefault()
    var name = Meteor.user() ? Meteor.user().profile.name : "Anonymous"
    var message = document.getElementById("message")
    if (message.value !== "") {
      Messages.insert({
        name: name,
        message: message.value,
        time: Date.now(),
      })
      message.value = ""
    }
  },
})

步驟4e:添加帳戶包以便使用GitHub帳戶登錄

Meteor非常容易使用。因為它具有豐富的包生態系統,所以我們要添加accounts-uiaccounts-github以便一個簡單的用戶登錄系統。

meteor add accounts-ui
meteor add accounts-github

步驟4f:添加樣式表(可選)

將以下樣式表複製並粘貼到您的'client'文件夾內。

> mkdir style > cd style > touch style.css

步驟5:將您的網站部署到Meteor的免費服務器

meteor deploy awesomeChatApp.meteor.com

完成!如果給出的地址已經在使用,您可能需要部署到其他地址。在瀏覽器中打開您的地址:http://awesomeChatApp.meteor.com

您還將需要配置登錄系統

我在墨爾本發現的有趣事實

雪梨和墨爾本,哪一個更好?選擇在你。兩座城市之間有著傳統且小氣的對立。

在我看來,比較它們就像是比較蘋果與橙子。當我終於訪問墨爾本時,它贏得了我的心。對不起,雪梨。

我的故事始於七月。儘管那是一個風雨交加的週末,但沒有任何事情能阻止我去墨爾本探望我最好的朋友。像我大部分的旅行一樣,我沒有計劃;我只是到達後,做我想做的事情。一個城市贏得的綽號往往可以揭示出很多關於它的特性 - 例如"世界上最宜居的城市"。一次造訪無法看盡墨爾本所有的一切,我並不建議大家嘗試。所以,這裡有一些精選的亮點,並無特定的順序。如果你對這個城市並不熟悉,以下是我發現的一些有趣的事實:

冬季極其寒冷 - 這可能看起來很明顯,但墨爾本的冬天有一種獨特的冷。兩個小時前,我正享受著布里斯班的天氣;兩個小時後,我在墨爾本不停地顫抖。雖然我在該市的時間很愉快,但不要被誤導認為這裡總是溫暖和陽光明媚的。最糟糕的經歷是冷到在夜間多次被喚醒。謝天謝地,我朋友的房間有一個暖氣機,真是救星。有趣的是,這次旅行最好的部分是在晚上享用冰淇淋,因為它不會在我走在街上的時候融化。

你可能會迷失方向 - 對於新來的人來說,迷路並不尷尬,尤其是當大多數街道都有普遍存在的"派臉"。幸好,墨爾本的建築使它與眾不同。該市最具標誌性的地標之一是弗林德斯街車站。大多數的旅遊景點都位於城市中心,方便探索和參觀像皇后維多利亞市場和維多利亞州立圖書館這樣的地方。這些景點都在步行距離之內,或者你可以乘坐免費的城市環線電車。

藝術館並非總是免費 - 他們說生活中最好的事情是免費的,許多城市景點可以免費進入。我們直到到達出口 - 還是入口? - 才意識到我們需要門票。無論如何,我們還是免費看了一些當代藝術。文化愛好者在聯邦廣場將發現有很多能讓他們忙碌的事情。

水族館 - 這可能是該市最少被遊客參觀的旅遊景點。畢竟,它與全世界的其他水族館相差無幾。然而,我喜歡觀察動物,這個地方提供了一次探索之旅 - 企鵝到處吐口水。膽汁導致了綠色的色調。使用衛星,你可以根據他們排泄物的斑點来估算皇帝企鵝的數量 - 除非他們全都有腸胃炎,當然。

唐人街無處不在 - 你不必努力尋找唐人街,它遍布墨爾本。中央商業區人口密集,你很可能會遇到華人。多虧了這種國際融合,不再有所謂的"典型澳洲居民"。有了如此的多元性,可以在幾公里範圍內找到各種國際美食並不令人驚奇。一家中華料理餐館的招牌翻譯成"熱情如火" - 不,它不是一家妓院。

(十二)使徒 - 這個名字有些誤導人 ;那裡既沒有十二個石柱,也沒有任何與聖經相關的東西。該地點原本被稱為"母豬和小豬",但為了適應旅遊的需要被重新命名為"使徒群"。我們的司機藤原拓海,你可能會認出他是來自漫畫"頭文字D",他操控在崎嶇曲折的大洋路上行駛得非常漂亮。風景令人驚艷。如果你計劃嘗試一日遊去維多利亞州最熱門的旅遊地點,希望有個好天氣!

那麼,你還在等什麼呢?立即預訂飛機票,直飛那裡。有無數的令人興奮的景點等你去看,還有許多記憶等你去創造。如果你已經去過,那就回去看看有什麼新的。請記住,不同的季節提供了不同的角度來讓你了解這個城市有趣的地方。在我看來,墨爾本是一個無論是生活還是旅遊都極好的地方。

我喜愛及討厭香港的事物

這個情況很複雜。我喜歡香港的獨特品質,但也有我覺得令人極度沮喪的方面。

我在香港出生,人口七百萬中的一個人,擠在僅有1104平方公里的地方。我與這個大都市的關係是愛恨交織的。在這裡,我將探討為什麼。

喜愛: 人的多樣性

先從正面說起。香港人的多樣性總是讓遊客著迷。多年前,當中國不易進入時,香港就像遊客的'快速中國'。現在,遊客可以很容易地看到真正的中國,但香港仍然是各種文化的大熔爐。無論是和家人還是朋友,我們都發現這個城市的氣氛充滿活力。我們勤奮、效率高,提供世界上最長的工作時間。當我到海外旅行時,生活步調較慢的情況會讓我感到瘋狂。

討厭: 過度擁擠

有什麼壞處嗎?過度擁擠。無論是你試圖購買票據,搭火車,或者在餐廳找餐桌,總是有長長的隊伍。這個城市感覺像是要爆炸了,那種壓力滲透到整個氛圍中。這是我覺得令人窒息並且絕對討厭的事情。

喜歡: 食物

談到食物,香港從未讓人失望。選項無窮無盡且極其美味。從中式烤肉和台式珍珠奶茶,到日本壽司和韓國烤肉,香港無疑是一個美食天堂。進餐的快樂是一種總是能夠將人們聚在一起的事情。

討厭: 高昂的生活成本

這個城市高昂的生活成本是一個重要的缺點。位置越方便,價格就越高。當地人經常抱怨,香港有世界上租金最高的最小居住空間。而且價格一直在上升。

喜愛: 快樂的回憶

我最喜歡的香港方面之一就是它對我持有的懷舊感。我在這裡有一段無比美好的童年,我希望我能用我們現在擁有的技術捕捉那些時刻。

討厭: 政治氣候

我不滿的源頭是什麼?共產黨對這個曾經活躍的城市的影響扮演著重要的角色。我不喜歡媒體、教育和立法系統是如何被政府控制的。我對於當權者不願給予香港民主權利,並壓制言論自由的行為深感痛恨。

總結

儘管有負面的因素—過度擁擠,成本上升,政治紛爭—我仍然珍愛著香港。是回憶,食物和人們讓我繼續留在這裡。無論何時何地。

我希望這能提供更細緻的理解關於我與這個複雜城市的關係。

如何在時間緊張的情況下,三天內遊覽悉尼

如果你只有幾天的時間可以在悉尼度過,你應該做什麼?

別擔心,有了我的指導,你將能夠在短短三天內探索這個充滿活力城市的最佳面貌.

我在復活節長假期間訪問了悉尼。根據TripAdvisor的數據,悉尼有855個玩樂之處!想象一下,你將被旅遊目的地、繁華的商店和人潮所包圍。這個城市無疑會使你的脈搏加快,你可能會想看到悉尼所能提供的所有風景,但時間有限。好消息是,你只需三天就能體驗最重要的景點,而且不會錯過任何重要的部分。這就是方法:

在悉尼最有效地利用你的時間的策略

從歌劇院開始你的旅程 - 你不可能到訪悉尼卻沒有在歌劇院和悉尼港大橋前自拍一張。雖然爬橋是可能的,但相當昂貴。我建議你省錢,乘坐悉尼摩天輪,可以有一種獨特且可能一生只有一次的體驗,同時可以眺望令人歎為觀止的風景!

在 The Rocks散步 -來到歌劇院附近的地方,享受 The Rocks 的煎餅吧,那是極好的體驗。或者,你可以在Glebe的魚市場選一家店品嘗炸魚和薯條。如果你在週末來訪,The Rocks市集將充滿有趣的攤位、當地藝術家和音樂。數百個攤位出售從食品到珠寶的各種物品,但不幸的是,我沒有為你提供如何在你被誘惑購買更多物品時如何節省開支的建議。

參觀博物館和藝術館 - 在Martin Place周圍的博物館和藝術館引起了我的興趣。他們許多都提供免費入場,並能提供豐富的資訊。儘管我並不是當代藝術的專家,但我的一些最愛包括澳洲博物館、新南威爾斯藝術館、The Rocks Discovery博物館、Powerhouse博物館和澳洲國家海洋博物館。

探索達令港(Darling Harbour) - 達令港是任何人來到悉尼都必須去的地方。星期六晚上,你可以欣賞到杜莎夫人蠟像館、水族館和壯觀的煙火。接近水域真的讓人精神焕發。這裡的IMAX劇院擁有世界最大的螢幕,但選擇一部適合大螢幕的電影。我曾經看過湯姆·克魯斯的《壯志凌雲》這麼好的一部電影,但在3D下看並沒那麼讚。還有,別忘了去Lindt巧克力咖啡廳和颶風餐廳。

在邦代海灘放鬆身心 - 確保參觀邦代海灘、曼利、庫吉、布朗特和馬魯巴等著名海灘,這些海灘都非常美麗、乾淨,沙子也特別柔軟。海灘通常人滿為患,所以你會看到許多吸引眼球的泳裝。保持專注!

體驗世界最好的冰淇淋 - 如果你是冰淇淋愛好者,那麼去紐頓鎮(Newtown)是必須的。這是世界上為數不多的能找到精美冰淇淋的地方,你也可以在《牛與月亮》中嘗試獨特的口味。但是,做好排隊等候,並找到一個可以好好享用你的冰淇淋的座位的心理準備。你必將成為這家店的粉絲!

最後的想法 - 還有更多可以探索的地方,但這些活動和目的地是必看的。如你所見,沒什麼是不可能的。早起,充分利用你的時間,打開Google地圖,並將自己沉浸在真正的悉尼體驗中。享受你的旅程!

你應該旅行到布里斯班的原因

布里斯班是一個極好的旅遊地點,以友善的人民和美麗的環境著稱。對於有預算考量的旅行者而言,這也比雪梨和墨爾本要便宜。

我曾兩次訪問過布里斯班,並留了下來總共18個月。毫無疑問,布里斯班是最佳的旅遊目的地。每當我遇到新的人,我都會推薦他們去布里斯班。被旅遊指南《孤獨星球》評為澳大利亞最驚人和最時髦的大都市,布里斯班是一顆冉冉升起的明星。你不應該錯過如此美妙的目的地。在我看來,你一生至少應該去布里斯班旅遊一次,以下就是原因。

立即訪問布里斯班的理由

你會遇到令人難以置信的人們

當我瀏覽我的Facebook朋友時,我發現我從布里斯班認識的朋友比我自己的國家還要多。當地人天生熱情和善良。與世界其他地方相比,這裡的熱情好客無與倫比。你還將結識來自世界各地的眾多國際朋友。不要害羞;你將會在你去的任何地方收到歡樂的笑臉和熱烈的歡迎。總的來說,我愛這裡的人們!

天堂中的海灘和島嶼

這個區域就像是地球上的一片天堂,我並不誇張。世界上很少有海灘可以與這裡相媲美。市區到衝浪者天堂大約需要一個小時的車程,雖然這並不是最好的海灘,但卻是最知名的之一。世界第三大沙島莫頓島距離東海岸只有35公里。在船舶殘骸周圍浮潛是一次難忘的體驗。如果你喜歡更悠閒的活動,就去南岸街海灘享受陽光吧。在市中心就有海灘,有多方便?出門前別忘了塗上防曬霜。

氣候和天氣

年平均溫度為26.6°C,使得任何時間都是訪問布里斯班的好時機。當歐洲可能正在經歷零下的溫度時,布里斯班卻在享受暖和的氣候!

美食,美味的食物

在布里斯班外出用餐是一種獨特的體驗,尤其是對於像我這樣的亞洲食品愛好者。Sunnybank是一個美食天堂,有美味的點心、煙燻豬肉和珍珠奶茶。像小羔羊快樂莊園、Madtongsan和煎餅莊園這樣的餐廳都是必嘗之選。

節慶和文化

如果你恰巧在前往黃金海岸路上經過布里斯班,一定要探索南岸的文化區。在這裡,你會發現昆士蘭博物館、昆士蘭藝術畫廊、現代藝術館、昆士蘭表演藝術中心和科學中心——所有這些都可以在24小時內體驗。全年各種活動如布里斯班節、春雷節、十月節和新年慶典等。你應該參加的原因很簡單——你永遠不會感到無聊!

健康的生活方式

雖然可能沒有傳統的旅遊景點來推廣它,但你可以像當地人一樣探索這個城市。在Riverlife劃獨木舟遊覽布里斯班河會是一種獨特的體驗。不喜歡水上運動?你還有Segway導覽、騎自行車和滾輪滑冰等選項。在袋鼠角攀岩可能看起來很驚險,但這是一生一次的機會。做好挑戰極限的準備,別擔心,有技能優秀的教練會每一步指導你。

輪到你了

我確定還有許多其他理由去布里斯班旅遊。你有什麼建議嗎?請分享你對這個奇妙城市的經驗和想法。我很想聽聽你的意見!