一個(gè)引號(hào)引發(fā)的血案

在使用 socket.io 時(shí)遇到一個(gè)看似很大的問題,花了兩個(gè)小時(shí)發(fā)現(xiàn)是一個(gè)引號(hào)引發(fā)的血案蛇尚。并不是什么技術(shù)難題芽唇,但是這次解決問題的過程給我了很大的感悟。

遇到問題要先分析其原因取劫,弄清楚其本質(zhì)匆笤。不要光想著尋求幫助,例如搜索之類的手段谱邪。log 信息中其實(shí)包含了重要的線索炮捧,不要忽視。

有句話是這么說的:遇到問題不要老是認(rèn)為是機(jī)器惦银、環(huán)境的鍋咆课,回頭看看,多半都是自己寫的程序有錯(cuò)扯俱。

問題很簡單书蚪,我在根據(jù) socket.io api 簡單引入

import io from 'socket.io-client'

只是簡單的引入,沒有任何其他的代碼迅栅。報(bào)錯(cuò):


Uncaught SyntaxError: Unexpected token :

    at Object../node_modules/socket.io-client/node_modules/debug/src/browser.js (app.js:4627)

    at __webpack_require__ (app.js:679)

    at fn (app.js:89)

    at Object.eval (url.js?5759:7)

    at eval (url.js:77)

    at Object../node_modules/socket.io-client/lib/url.js (app.js:4620)

    at __webpack_require__ (app.js:679)

    at fn (app.js:89)

    at eval (index.js?0e64:6)

    at Object../node_modules/socket.io-client/lib/index.js (app.js:4592)

粗略一看殊校,語法錯(cuò)誤,冒號(hào)的鍋读存。好箩艺,那么解決吧。怎么解決呢宪萄,看文檔噻艺谆,去搜索噻“萦ⅲ花了大量的時(shí)間去查文檔静汤,搜索,并沒有用〕娓回過頭來自己仔細(xì)琢磨一下藤抡。

首先,語法錯(cuò)誤抹估,看看哪里報(bào)的錯(cuò)呢缠黍?/node_modules/socket.io-client/node_modules/debug/src/browser.js (app.js:4627)

瀏覽器里看看源碼吧。

image.png

就是這里药蜻,不認(rèn)真看瓷式,不認(rèn)真想,以為是環(huán)境變量的問題语泽。又朝著環(huán)境變量的方向一頓查贸典,不思考,就是去搜索踱卵,去找原因廊驼。可是原因在哪里惋砂,就在代碼里面啊妒挎。

早就知道是冒號(hào)的鍋,冒號(hào)在哪里西饵?冒號(hào)就在這里啊饥漫,http 后面的這個(gè)冒號(hào)啊。去模塊的源碼里看看罗标,源碼是這樣子的:


// If debug isn't set in LS, and we're in Electron, try to load $DEBUG

  if (!r && typeof process !== 'undefined' && 'env' in process) {

    r = process.env.DEBUG;

  }

再對(duì)比一下庸队,process.env就是一個(gè)對(duì)象,需要去取 DEBUG 這個(gè)環(huán)境變量嘛闯割。源碼里也寫的清清楚楚是 Object 的彻消,那么在 URL_PREFIX 應(yīng)該是一個(gè)字符串啊。這里一看就不對(duì)啊宙拉,沒有引號(hào)啊宾尚。

再去看 URL_PREFIX 在哪里定義的,這個(gè)其實(shí)不陌生啊谢澈,項(xiàng)目里 /config/prod.env.js 里


'use strict'

module.exports = {

  NODE_ENV: '"production"',

  URL_PREFIX: '[http://192.168.43.193:3000/'](http://192.168.43.193:3000/')

}

對(duì)比一下NODE_ENV發(fā)現(xiàn)問題了煌贴,應(yīng)該是雙重引號(hào)啊。改一下


module.exports = {

 URL_PREFIX: '"[http://192.168.43.193:3000/"'](http://192.168.43.193:3000/')

}

重新 start 一下锥忿,這不是沒毛病嘛牛郑。

總結(jié)一下,就像文章開始說的敬鬓,根據(jù)log 信息淹朋,仔細(xì)想一下這個(gè)問題并不難的笙各。難的就在自己把問題想復(fù)雜了,而且不思考础芍。反思……

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杈抢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仑性,更是在濱河造成了極大的恐慌惶楼,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诊杆,死亡現(xiàn)場離奇詭異歼捐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刽辙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門窥岩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甲献,“玉大人宰缤,你說我怎么就攤上這事』稳鳎” “怎么了慨灭?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長球及。 經(jīng)常有香客問我氧骤,道長,這世上最難降的妖魔是什么吃引? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任筹陵,我火速辦了婚禮,結(jié)果婚禮上镊尺,老公的妹妹穿的比我還像新娘朦佩。我一直安慰自己,他們只是感情好庐氮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布语稠。 她就那樣靜靜地躺著,像睡著了一般弄砍。 火紅的嫁衣襯著肌膚如雪仙畦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天音婶,我揣著相機(jī)與錄音慨畸,去河邊找鬼划提。 笑死丹壕,一個(gè)胖子當(dāng)著我的面吹牛腾誉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播务蝠,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼猜绣!你這毒婦竟也來了课舍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤谐宙,失蹤者是張志新(化名)和其女友劉穎烫葬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凡蜻,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搭综,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了划栓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兑巾。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忠荞,靈堂內(nèi)的尸體忽然破棺而出蒋歌,到底是詐尸還是另有隱情,我是刑警寧澤委煤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布堂油,位于F島的核電站,受9級(jí)特大地震影響碧绞,放射性物質(zhì)發(fā)生泄漏府框。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一讥邻、第九天 我趴在偏房一處隱蔽的房頂上張望迫靖。 院中可真熱鬧,春花似錦兴使、人聲如沸系宜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜈首。三九已至,卻和暖如春欠母,著一層夾襖步出監(jiān)牢的瞬間欢策,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工赏淌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留踩寇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓六水,卻偏偏與公主長得像俺孙,于是被迫代替她去往敵國和親辣卒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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

  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,338評(píng)論 0 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理睛榄,服務(wù)發(fā)現(xiàn)荣茫,斷路器,智...
    卡卡羅2017閱讀 134,665評(píng)論 18 139
  • 文|南方好姑娘 -1- 我們馬不停蹄地向前咧欣,卻從不曾停下來看看自己。 時(shí)間日復(fù)一日轨帜,年復(fù)一年地在走魄咕,走到2017年...
    桔里閱讀 512評(píng)論 5 8
  • 搬的不是家,搬的是我情感的寄托和安放地蚌父。自從孩子爸走后哮兰,一個(gè)人帶著娃,風(fēng)里來雨里去梢什,感覺是個(gè)女漢子奠蹬。和你異地一年多...
    繽紛生活創(chuàng)作者閱讀 153評(píng)論 0 0
  • 我愛幻想愛空談愛吹噓的毛病朝聋,滅金先生看得透嗡午。一日我大談:“云南的發(fā)展好啊,因?yàn)?**此處省略700字***冀痕,在未來...
    震西方閱讀 245評(píng)論 0 1