簡體   English   中英

使用Webstorm調試Nodewebkit

[英]Debugging Nodewebkit with Webstorm

我正在嘗試在Webstorm中打開NW,以便可以開始調試。 當我在App中遇到錯誤時,NW窗口將關閉,而沒有任何提示原因。

我在Webstorm網站上找到了這篇文章 在我的根文件夾中,我有一個app.js,其中包含常用的快速應用啟動和模塊包含。 我也有package.json:

{
  "name": "nw",
  "version": "1.0.0",
  "description": "",
  "main": "index.html",
  "node-main": "app.js",
  "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"window": {
"toolbar": true,
"width": 800,
"height": 500
},
 "license": "ISC",
 "dependencies": {
 "jquery": "^2.1.4",
 "nw": "^0.12.2",
 "pretty-bytes": "^1.0.2"
  }
}

而且我有以下index.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My App</title>
<script src="app.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
window.location = 'http://localhost:3000';
</script>
</body>
</html>

我對此有兩個問題:

  1. 當我單獨運行NW(只需雙擊nw.exe)時,應用程序將啟動,但並非總是啟動。 在10倍,它將關閉3倍。 其余的將正常打開。

  2. 我已經按照Webstorm網站上的說明進行了調試,但結果卻很奇怪。 當我嘗試在webstorm中打開它時,將顯示NE窗口,並因以下錯誤而立即關閉:進程退出代碼為0,但我可以在普通模式下(不是debugg)打開webstorm中的應用程序。

這是怎么回事? 我的Webstorm調試屏幕: 在此處輸入圖片說明

您沒有發布任何代碼,但是您可能會收到一個異常,該異常會使應用立即崩潰。

根據過去的經驗,最常見的異常是由於錯誤地調用window引起的:

window :定義為'global'的屬性,指向DOM窗口的全局對象。 請注意,它將在頁面導航時更新。 此符號在腳本加載時不可用,因為腳本是在DOM窗口加載之前執行的(

因此,如果您使用“ node-main”,而在其中使用“ window”,則應用程序將在啟動時崩潰。 在app.js中查找對window的任何調用,然后嘗試對其進行注釋。 如果可行,則需要將代碼放入函數中,然后從index.html調用它們。

如果不是這種情況,則需要調試代碼以查找其中斷原因。 嘗試省略代碼塊以查找錯誤。 您可以發布代碼以獲取更多幫助。

您是否已在Webstorm中設置調試配置? 它與普通模式分開。

如果您需要在Windows中查看控制台消息,請使用Git Bash

終於找到了為什么我的西北窗口有時關閉的原因。 這是我的設置:

的package.json:

 "main": "index.html",
 "node-main": "appnw.js",

index.html的:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>My App</title>
 </head>
 <body>
  <script type="text/javascript">
  setTimeout (function () {
    window.location = 'http://localhost:9000';
},1000)

問題是實際上NW試圖“獲取”它時有時Express.js服務器沒有啟動。 我只是使用setTimout來減慢速度:

  setTimeout ( function () {
      app.listen(app.get('port'), function () {          
   });
  }, 2000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM