这是我要运行的代码
//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.
错误:找不到模块“ 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应该提供对它的访问。
nw.gui
通过错误消息的外观,我认为您是直接通过NodeJS运行文件的。要运行NW.js项目,您需要通过NW.js可执行文件(包括NodeJS)加载它。您可以按照“如何运行应用程序”页面中所述的几种方法进行操作:
找到包含package.json文件的项目文件夹。通过压缩整个文件夹,将文件扩展名更改为“ .nw”,然后运行以下命令来运行它:
package.json
nw /home/path/to/packagedapp.nw
或者,直接在文件夹上直接运行命令:
nw /home/path/to/appdir/
您可以为此创建快捷方式以使其更容易。最终,您可以将NW.js可执行文件与代码组合成一个可执行文件,请参阅如何打包和分发应用程序。
也许您正在尝试nw.gui从“节点上下文”内部进行访问,而节点却抱怨找不到它。
NW.js中的Javascript可以在Node上下文中运行(就像在所有NodeJS全局变量中简单地在NodeJS中运行代码)或“ Browsercontext”(浏览器上下文)(也可以通过Window全局变量访问浏览器)一样。节点上下文只能访问节点内容,而浏览器上下文可以访问两者。
Window
网页中包含的代码在浏览器上下文中运行,但是require()d的代码在节点上下文中执行。请参阅文档JavaScript上下文的差异。
require()