【问题标题】:Using require() in a remotely-hosted node-webkit application在远程托管的 node-webkit 应用程序中使用 require()
【发布时间】:2013-03-14 11:31:14
【问题描述】:

我有一个 package.json 文件,如下所示:

{
    "name": "title",
    "description": "description",
    "version": "0.1",
    "main": "https://path-to-application/",
    "window": {
        "show": true,
        "toolbar": false,
        "frame": true,
        "position": "center",
        "width": 800,
        "height": 600,
        "min_width": 220,
        "min_height": 220
    }
}

但是当我尝试运行代码时:

var GUI = null;
var win = null;
try { GUI = require('nw.gui'); win = GUI.Window.get(); } catch (ex) { }
win.toggleFullscreen();

什么都没有发生,为 GUI 添加警报和 win 显示它们都设置为 null。当我从与 package.json 相同的 .zip 中的 index.html 文件运行相同的代码时,它按预期工作。对 require() 的初始调用似乎失败了。

有没有办法让它在远程托管的应用程序中工作?

【问题讨论】:

  • 您是否尝试实际捕获任何异常并查看其内容?没有在 try 块中设置它们的原因可能引发了异常。
  • 错误是:“ReferenceError: require is not defined”。

标签: javascript node.js node-webkit


【解决方案1】:

如果其他人遇到此问题,我可以通过将 node-remote 字段添加到 package.json 文件来解决此问题。

【讨论】:

  • 那太好了……您知道是否也可以远程托管 node_modules。如果我的 node_modules 位于我用来创建 node-webkit exe 的 app 文件夹中,我只能让它工作。如果我们也可以远程拉取这些内容,那就太棒了,这样我就可以远程更新依赖项,而不必发布应用程序的新版本。
  • @CoryG 你能显示你的 package.json 文件吗? node-webkit wiki 不会使 node-remote 指令立即显而易见。
  • 你能举例说明你使用的规则吗?我似乎无法让它工作。
  • 在 package.json 文件的根目录中(在上面的示例中,将其放在 "window": { 行上方添加行 "node-remote": "https://path-to-application/",
  • 编辑添加一个完整的例子:)
猜你喜欢
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
相关资源
最近更新 更多