节点模块' nw.gui'未找到

时间:2014-06-24 17:25:11

标签: node.js npm

这是我想要运行的代码

//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.

我无法得到这个模块。我该怎么办?

1 个答案:

答案 0 :(得分:3)

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?

也许您正在尝试从“Node上下文”中访问nw.gui,并且Node抱怨它无法找到它。

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

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