【问题标题】:node module 'nw.gui' not found找不到节点模块“nw.gui”
【发布时间】:2014-06-24 17:25:10
【问题描述】:

这是我要运行的代码

//global.$ = $;

var abar = require('address_bar');
var folder_view = require('folder_view');
var path = require('path');
var shell = require('nw.gui').Shell;

这就是我得到的:

module.js:340 抛出错误; ^

错误:找不到模块“nw.gui”

at Function.Module._resolveFilename (module.js:338:15)

at Function.Module._load (module.js:280:25)

at Module.require (module.js:364:17)

at require (module.js:380:17)

at Object.<anonymous> (/home/parisa/Documents/nw-sample-apps-master/file-explorer/main.js:6:13)

at Module._compile (module.js:456:26)

at Object.Module._extensions..js (module.js:474:10)

at Module.load (module.js:356:32)

at Function.Module._load (module.js:312:12)

at Function.Module.runMain (module.js:497:10) Program exited.

我无法获取此模块。我该怎么办?

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    nw.gui 是一个 NW.js(以前称为 node-webkit)模块。当您的代码在其运行时环境中运行时,NW.js 应该提供对它的访问。

    根据您的错误消息,我假设您是通过 NodeJS 直接运行该文件。要运行 NW.js 项目,您需要通过 NW.js 可执行文件加载它,其中包括 NodeJS。您可以按照“如何运行应用程序”页面中所述的几种方式执行此操作:

    找到包含package.json 文件的项目文件夹。通过压缩整个文件夹来运行它,将文件扩展名更改为“.nw”,然后运行命令:

    nw /home/path/to/packagedapp.nw

    或者,直接在文件夹上运行命令:

    nw /home/path/to/appdir/

    您可以为此创建一个快捷方式以使其更容易。最终,您可以将 NW.js 可执行文件与您的代码组合成一个可执行文件,请参阅How to package and distribute your apps


    Running it from inside node-webkit, still not finding 'nw.gui', any clue?

    也许您正试图从“节点上下文”中访问 nw.gui,而 Node 抱怨它找不到它。

    NW.js 中的 Javascript 可以在 Node 上下文中运行(就像在 NodeJS 中简单地运行代码,使用所有 NodeJS 全局变量)或“浏览器上下文”(也可以访问浏览器,使用 Window全局变量)。节点上下文只能访问节点内容,但浏览器上下文可以访问两者。

    网页中包含的代码在浏览器上下文中运行,但require()d 的代码在节点上下文中执行。请参阅文档Differences of JavaScript contexts

    【讨论】:

    • 如何使用 nw 设置和获取 cookie。
    • 嗯?这不是对这个答案的评论。请为它提出一个新问题。我认为 cookie 的工作方式和往常一样。
    猜你喜欢
    • 2022-12-15
    • 2021-01-06
    • 1970-01-01
    • 2019-07-26
    • 2022-11-11
    • 2017-03-13
    • 2021-12-07
    • 2020-11-28
    • 2015-10-03
    相关资源
    最近更新 更多