我按照NW.js的官方文档操作,但是窗口始终没有出现。
如果我将package.json
切换到"main": "index.html"
,窗口出现。但如果我返回到"main": "main.js"
,窗口不出现。
这是我的main.js
:
var nw = require('nwjs');
nw.Window.open("index.html", {}, function(win) {});
我必须设置"main": "main.js"
,因为我想使用的模块不支持.html
文件作为"main"
.
有人有解决方案吗?
我很好奇什么模块需要你的main
是一个JS文件。这是相当罕见的,你会有一个NW.js项目,不使用html文件作为main
(我强烈建议使用"main": "index.html"
)。
你的问题是var nw = require('nwjs');
相当于做nw = undefined
。在默认上下文中,window.nw
和global.nw
都可以随时访问。你基本上是在删除你需要的东西。
index.html
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
</head>
<body>
<h1>Test<h1>
</body>
</html>
index.js
nw.Window.open('index.html');
package.json
{
"name": "test",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "nw ."
},
"devDependencies": {
"nw": "0.51.0-sdk"
},
"author": "Julien",
"description": "Test",
"license": "MIT"
}
然后是npm install && npm start
。但是,你不想要这个,你想要"main": "index.html"
,它只是少了很多麻烦。