如何将.js文件设置为NW.js中的主文件?



我按照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.nwglobal.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",它只是少了很多麻烦。

最新更新