[英]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>
我對此有兩個問題:
當我單獨運行NW(只需雙擊nw.exe)時,應用程序將啟動,但並非總是啟動。 在10倍,它將關閉3倍。 其余的將正常打開。
我已經按照Webstorm網站上的說明進行了調試,但結果卻很奇怪。 當我嘗試在webstorm中打開它時,將顯示NE窗口,並因以下錯誤而立即關閉:進程退出代碼為0,但我可以在普通模式下(不是debugg)打開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.