配置Parse Server Cloud Code的調(diào)試環(huán)境

如何調(diào)試芹敌?首先我們需要明確的是對Parse Server進行調(diào)試,而Parse Server本質(zhì)是一個Node服務(wù)垮抗,所以最終轉(zhuǎn)化為對node服務(wù)的調(diào)試氏捞。

通過分析Parse Server的Dockerfile的ENTRYPOINT

ENTRYPOINT ["node", "./bin/parse-server"]

結(jié)合我們的Docker Compose文件的Command指令

command: /parse-server/config/config.json

其實最終的Parse Server是通過下面這樣的命令來啟動的

node ./bin/parse-server /parse-server/config/config.json 

我們可以通過添加--inspect參數(shù)來為node開啟調(diào)試,同時通過Docker Compose的entrypoint參數(shù)來覆蓋Parse Server Dockfile中的ENTRYPOINT指令冒版。

因此液茎,最終,我們修改compose.yaml文件的parse-server部分如下:

parse-server:
    image: parseplatform/parse-server
    container_name: parse-server
    volumes:
      - ./parse-server/config:/parse-server/config
      - ./parse-server/cloud:/parse-server/cloud
      - ./logs/parse-server:/parse-server/logs
    ports:
      - "1337:1337"  
      - "9229:9229"
    depends_on:
      - mongo
    entrypoint: node --inspect=0.0.0.0 ./bin/parse-server /parse-server/config/config.json
    networks:
      - internal-network  

開放9229端口辞嗡,用于調(diào)試捆等。同時通過制定entrypoint參數(shù),開啟node的inspect調(diào)試续室。注意這里我們使用了=0.0.0.0栋烤,這是由于容器內(nèi)的IP的變化,我們不能使用localhost的127.0.0.1來進行調(diào)試猎贴。

下一步我們需要重新安裝容器,先停止,然后刪除她渴,最后再安裝

docker-compose stop
docker-compose rm
docker-compose up -d

然后我們調(diào)用下面的命令查看parse-server啟動的logs

docker logs parse-server

你會發(fā)現(xiàn)下面這一行

Debugger listening on ws://0.0.0.0:9229/64a7d606-f353-4d42-b40f-f12019083e4b
For help, see: https://nodejs.org/en/docs/inspector

也就是Debugger已經(jīng)開啟达址。

接下來我們通過VSCode來進行調(diào)試


添加配置.png

如圖,點擊最左側(cè)的bug圖標跳轉(zhuǎn)到調(diào)試主頁面趁耗,然后添加配置沉唠。在彈出的下拉列表中選擇node.js,選擇添加node.js:添加到進程苛败。此時VSCode會幫你生成一個launch.json文件满葛。

編輯文件如下:

{
    // 使用 IntelliSense 了解相關(guān)屬性。 
    // 懸停以查看現(xiàn)有屬性的描述罢屈。
    // 欲了解更多信息嘀韧,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
          "name": "Attach to Parse Server Docker",
          "type": "node",
          "request": "attach",
          "port": 9229,
          "address": "localhost",
          "localRoot": "${workspaceFolder}/parse-server/cloud",
          "remoteRoot": "/parse-server/cloud",
          "protocol": "inspector",
        },
    ]
}

配置解析:

  • name:取一個容易
  • type:指定為node,不需要修改
  • request:指定為attach模式缠捌,不需要修改
  • port:指定為9229锄贷,不需要修改
  • address:為本地,因此用localhost曼月,如果為遠程谊却,那么修改為遠程服務(wù)器的地址
  • localRoot:本地的源碼位置母剥,由于我們只需要調(diào)試cloud的代碼架诞,因此指定cloud目錄即可
  • remoteRoot:注意remoteRoot和localRoot必須指定相同的代碼,一般是localRoot映射到服務(wù)器的目錄丝格。
  • protocol:指定為inspector聪姿,無需修改碴萧。

這里address,localRoot咳燕,remoteRoot必須設(shè)置正確勿决,否則可能會出現(xiàn)“斷點未綁定”之類的錯誤。

接下來我們打開本地的main.js源文件招盲,在第二行設(shè)置一個斷點低缩。然后點擊綠三角開始調(diào)試,此時會出現(xiàn)一個調(diào)試條

截屏2022-10-16 17.24.13.png

在命令行執(zhí)行

curl -X POST \
  -H "X-Parse-Application-Id: APPLICATION_ID" \
  -H "Content-Type: application/json" \
  http://localhost:1337/parse/functions/HelloCloud

該執(zhí)行并不會輸出結(jié)果曹货,VSCode會顯示程序在斷點處暫停咆繁,此時你可以進行調(diào)試了。

截屏2022-10-16 17.26.53.png

至此顶籽,我們的調(diào)試環(huán)境配置完畢玩般,今后如果書寫了復(fù)雜的Cloud Code,我們就可以進行最為直觀的調(diào)試了礼饱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坏为,一起剝皮案震驚了整個濱河市究驴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匀伏,老刑警劉巖洒忧,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異够颠,居然都是意外死亡熙侍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門履磨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛉抓,“玉大人,你說我怎么就攤上這事剃诅∠锼停” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵综苔,是天一觀的道長惩系。 經(jīng)常有香客問我,道長如筛,這世上最難降的妖魔是什么堡牡? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮杨刨,結(jié)果婚禮上晤柄,老公的妹妹穿的比我還像新娘。我一直安慰自己妖胀,他們只是感情好芥颈,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赚抡,像睡著了一般爬坑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涂臣,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天盾计,我揣著相機與錄音,去河邊找鬼赁遗。 笑死署辉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的岩四。 我是一名探鬼主播哭尝,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剖煌!你這毒婦竟也來了材鹦?” 一聲冷哼從身側(cè)響起逝淹,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桶唐,沒想到半個月后创橄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡莽红,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了邦邦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片安吁。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖燃辖,靈堂內(nèi)的尸體忽然破棺而出鬼店,到底是詐尸還是另有隱情,我是刑警寧澤黔龟,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布妇智,位于F島的核電站,受9級特大地震影響氏身,放射性物質(zhì)發(fā)生泄漏巍棱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一蛋欣、第九天 我趴在偏房一處隱蔽的房頂上張望航徙。 院中可真熱鬧,春花似錦陷虎、人聲如沸到踏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窝稿。三九已至,卻和暖如春凿掂,著一層夾襖步出監(jiān)牢的瞬間伴榔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工缠劝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留潮梯,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓惨恭,卻偏偏與公主長得像秉馏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脱羡,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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