【问题标题】:Is it possible to specify "main" file when launching node-webkit启动 node-webkit 时是否可以指定“主”文件
【发布时间】:2013-11-06 17:46:52
【问题描述】:

我不确定这是否可能。我想知道是否有办法指定启动 node-webkit 时打开的索引文件。即,我正在尝试覆盖清单文件中的 "main" 键。

这是一个基本的设置示例以及我想要做什么:

package.json:

{
  "main": "index.html",
  "name": "nw-demo",
  ...
}

包看起来像这样:

app.nw
| -- package.json
` -- index.html
` -- anotherIndex.html
...

所需命令:

nw app.nw --main="anotherIndex.html"

我知道--url="FILE.html" 命令行开关指定了here,但是当我传递这个参数时,node-webkit 根本无法打开。

【问题讨论】:

    标签: node-webkit


    【解决方案1】:

    Node Webkit 可以支持随心所欲地打开文件。这段代码不是万无一失的,但它应该可以帮助您入门。

    按照以下步骤操作:

    1. 将以下 JavaScript 放在默认 index.html 页面的头部:

      window.gui = require('nw.gui');
      
      checkFile = function()
      {
          var arg = window.gui.App.argv[1];
          if (arg)
          {
      
              window.location = arg;
      
          }
      }
      
    2. 现在将其添加到正文标签:onLoad="checkFile();"

    3. 您现在应该可以从命令行调用 Node WebKit,如下所示:

    nw app.nw startwiththisfile.html

    如果 startwiththisfile.html 在您的 app.nw 包中,它应该会启动。

    【讨论】:

    • 在这个例子中,credits.htmlapp.nw 包的一部分吗?这对我不起作用。使用开关提供任何路径(绝对或不)不会为我打开应用程序。
    • credits.html 文件是与 nw.exe 应用程序位于同一文件夹中的物理文件。您确定要提供文件的完整物理路径吗?
    • 哦,等等,你想在 app.nw 包中启动一个替代文件吗?
    • 拜托,我在我的 Windows 和 Linux 机器上测试过,您可能需要根据 Mac 传递参数的方式更改索引的 [0]。
    • if(process.platform == "darwin") index=0; else index=1; 应该让它在 windows 和 mac 之间兼容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 2013-05-21
    • 2013-06-11
    • 2010-12-17
    • 2015-05-11
    • 2013-12-12
    相关资源
    最近更新 更多