Node.js-20行代碼實(shí)現(xiàn)一個(gè)天氣預(yù)報(bào)

前言

我首先得承認(rèn)榔昔,標(biāo)題有點(diǎn)扯了。不過下面主要是干貨凿跳,使用Node.js確實(shí)能夠根據(jù)自己的想法去快速構(gòu)建一件事情〖悖現(xiàn)在將構(gòu)建過程呈現(xiàn)給大家

新建項(xiàng)目

在本地目錄新建文件夾,命令行模式到新建的文件夾weather下控嗜,執(zhí)行<code>npm init </code>

npm init

按照提示輸入項(xiàng)目相關(guān)內(nèi)容或者使用默認(rèn)值茧彤。最終文件結(jié)構(gòu)為

+ weather
  - package.json  

找一個(gè)可用的天氣預(yù)報(bào)api

現(xiàn)在有很多提供免費(fèi)天氣預(yù)報(bào)api服務(wù)的廠商,大家可以隨意找疆栏。我使用的是阿里云里面一個(gè)免費(fèi)的 api https://market.aliyun.com/products/57126001/cmapi014302.html
使用淘寶賬號(hào)可以購買曾掂。 購買成功后會(huì)將AppKey AppSecret AppCode信息發(fā)送給你,本次我們只用到了 AppCode壁顶。

使用request 發(fā)送get請(qǐng)求

request作為Node.js的一個(gè)發(fā)送請(qǐng)求的第三方模塊在社區(qū)中非常受歡迎珠洗,使用方式輕巧,安裝簡單若专。 安裝方式只需要<code>npm install request --save</code> 即可

npm install request --save

代碼模型

根據(jù)天氣預(yù)報(bào)api 可以看到請(qǐng)求格式為get 類型许蓖,需要在發(fā)送get的時(shí)候 添加Header信息。

使用方法
請(qǐng)求Header中添加的Authorization字段调衰;
配置Authorization字段的值為“APPCODE + 半角空格 +APPCODE值”膊爪。
格式:
> Authorization:APPCODE AppCode值

根據(jù)api 說明,那么這個(gè)請(qǐng)求應(yīng)該是這樣的

var request = require('request');

var options = {
  url: 'http://jisutqybmf.market.alicloudapi.com/weather/query',
  headers: {
    Authorization: 'APPCODE AppCode值'
  }
};

function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    var info = JSON.parse(body);
   console.log(info)
  }
}

request(options, callback);

請(qǐng)求發(fā)送出去嚎莉,拿到服務(wù)器返回的天氣值米酬。下一步就是我們來處理下,顯示我們想要的結(jié)果趋箩。
根據(jù)api 找到自己城市的cityid赃额,加在請(qǐng)求uil參數(shù)上加派,即可。

最終代碼

var request = require('request');
var options = {
  url: 'http://jisutqybmf.market.alicloudapi.com/weather/query?cityid=24',
  headers: {
    'Authorization': 'APPCODE xxxxx你的購買appcode值xxxxx'
  }
};
function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    var info  = JSON.parse(body)
    var allweather = info.result;
    var city = allweather.city,
        date = allweather.date,
        week = allweather.week,
        nowtemp = allweather.temp;
    console.log("現(xiàn)在是天氣預(yù)報(bào)時(shí)間:今天是",date,week);
    console.log(city,"的溫度是",nowtemp);
  }
}
request(options, callback);

打印一下 查看結(jié)果

C:\Users\zengyang\Desktop\weather> node .\cityweather.js
現(xiàn)在是天氣預(yù)報(bào)時(shí)間:今天是 2017-07-07 星期五
上海 的溫度是 34
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跳芳,一起剝皮案震驚了整個(gè)濱河市芍锦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筛严,老刑警劉巖醉旦,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異桨啃,居然都是意外死亡车胡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門照瘾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匈棘,“玉大人,你說我怎么就攤上這事析命≈魑溃” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鹃愤,是天一觀的道長簇搅。 經(jīng)常有香客問我,道長软吐,這世上最難降的妖魔是什么瘩将? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮凹耙,結(jié)果婚禮上姿现,老公的妹妹穿的比我還像新娘。我一直安慰自己肖抱,他們只是感情好备典,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著意述,像睡著了一般提佣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荤崇,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天镐依,我揣著相機(jī)與錄音,去河邊找鬼天试。 笑死,一個(gè)胖子當(dāng)著我的面吹牛然低,可吹牛的內(nèi)容都是我干的喜每。 我是一名探鬼主播务唐,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼带兜!你這毒婦竟也來了枫笛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤刚照,失蹤者是張志新(化名)和其女友劉穎刑巧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體无畔,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啊楚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浑彰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恭理。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖郭变,靈堂內(nèi)的尸體忽然破棺而出颜价,到底是詐尸還是另有隱情,我是刑警寧澤诉濒,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布周伦,位于F島的核電站,受9級(jí)特大地震影響未荒,放射性物質(zhì)發(fā)生泄漏专挪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一茄猫、第九天 我趴在偏房一處隱蔽的房頂上張望狈蚤。 院中可真熱鬧,春花似錦划纽、人聲如沸脆侮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽靖避。三九已至,卻和暖如春比默,著一層夾襖步出監(jiān)牢的瞬間幻捏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工命咐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篡九,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓醋奠,卻偏偏與公主長得像榛臼,于是被迫代替她去往敵國和親伊佃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理沛善,服務(wù)發(fā)現(xiàn)航揉,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評(píng)論 25 707
  • 原文鏈接:http://www.reibang.com/p/6b816c609669 前傳 出于興趣最近開始研究k...
    懸筆e絕閱讀 7,216評(píng)論 1 11
  • 深夜的時(shí)間總是不規(guī)律金刁。醒著的時(shí)候時(shí)間像是被拉長帅涂,睡著了又覺得轉(zhuǎn)眼到了明天。 那晚尤蛮,我?guī)е蓱]睡著了媳友。夢見一片大海,...
    我要變成我喜歡的樣子_閱讀 385評(píng)論 0 1
  • 前日一位老友打電話過來,內(nèi)容大抵都是些抱怨的話轧葛。但他那一句“長大了搂抒,我們也許會(huì)變成自己想要的模樣,但大多是偏離了預(yù)...
    18號(hào)同學(xué)閱讀 229評(píng)論 5 2