未find节点模块“nw.gui”

这是我想运行的代码

//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抛出err; ^

错误:找不到模块'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. 

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

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

通过你的错误信息,我假设你直接通过NodeJS运行文件。 要运行NW.js项目,您需要通过包含NodeJS的NW.js可执行文件加载它。 您可以按照“如何运行应用程序”页面中所述,通过几种方法来实现这一点:

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

nw /home/path/to/packagedapp.nw

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

nw /home/path/to/appdir/

你可以做一个快捷方式,使其更容易。 最后,您可以将NW.js可执行文件与您的代码合并到一个可执行文件中,请参阅如何打包和分发您的应用程序 。


从node-webkit中运行它,仍然没有find“nw.gui”,有什么线索?

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

NW.js中的Javascript可以运行在Node上下文中(就像在NodeJS中运行所有的NodeJS全局代码一样)或者“浏览器上下文”(也可以通过Window全局访问浏览器)来运行。 节点上下文只能访问节点内容,但浏览器上下文可以访问这两个节点。

从网页中包含的代码在浏览器上下文中运行,但是require()代码在节点上下文中被执行。 查看文档JavaScript上下文的差异 。