我正在尝试在Webstorm中打开NW,以便我可以开始调试。当我在应用程序中有错误时,NW窗口关闭时没有任何暗示为什么会发生这种情况。
我在Webstorm网站上找到了这个article。在我的根文件夹中,我有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>
我有两个问题:
答案 0 :(得分:1)
您没有发布任何代码,但您可能会遇到异常,导致应用立即崩溃。
根据过去的经验,最常见的异常是由于对窗口的错误调用引起的:
窗口:定义为&#39; global&#39;的属性,指向DOM窗口 全球对象。请注意,它会在页面导航时更新。 加载脚本时此符号不可用,因为 脚本在DOM窗口加载(source)
之前执行
因此,如果您使用&#39; node-main&#39;在那里你使用&#39; window&#39;你的应用程序会在启动时崩溃。在app.js中查找对窗口的任何调用并尝试对其进行注释。如果它有效 - 您需要将代码放在函数中并从index.html调用它们。
如果不是这种情况,则需要调试代码以找出它中断的原因。尝试省略代码块来查找错误。您可以发布代码以获得更多帮助。
答案 1 :(得分:0)
您是否在Webstorm中设置了调试配置?它与正常模式分开。
如果您需要在Windows中查看控制台消息,请使用Git Bash
答案 2 :(得分:0)
终于找到了我的NW窗口有时会关闭的原因。这是我的设置:
的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试图&#34;得到&#34;它。我只是使用setTimout来减慢速度:
setTimeout ( function () {
app.listen(app.get('port'), function () {
});
}, 2000);