Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在节点webkit应用程序之外需要/运行JavaScript_Javascript_Node Webkit - Fatal编程技术网

在节点webkit应用程序之外需要/运行JavaScript

在节点webkit应用程序之外需要/运行JavaScript,javascript,node-webkit,Javascript,Node Webkit,假设我有以下应用程序结构: outer-folder/ ├── my-app/ └── settings.js 其中my app/是包含package.json的未构建目录,或my app.exe或my app.app的已打包应用程序 我无法将settings.js与我的应用程序的其余部分打包,因为我希望用户可以编辑此文件,并在启动时加载以配置我的应用程序。此外,我计划允许settings.js驻留在任何地方(例如,在用户的主目录中),并且可以从那里加载 当应用程序未构建时,这可以正常工作。我

假设我有以下应用程序结构:

outer-folder/
├── my-app/
└── settings.js
其中
my app/
是包含
package.json
的未构建目录,或
my app.exe
my app.app
的已打包应用程序

我无法将
settings.js
与我的应用程序的其余部分打包,因为我希望用户可以编辑此文件,并在启动时加载以配置我的应用程序。此外,我计划允许
settings.js
驻留在任何地方(例如,在用户的主目录中),并且可以从那里加载

当应用程序未构建时,这可以正常工作。我只是有一个文件的相对路径,
require()
像往常一样。但是,当应用程序被构建时(如果这有什么不同的话),这会失败,我会遇到可怕的“找不到模块”错误


我搜索了节点webkit wiki,但找不到有关此问题的任何信息,我是否遗漏了什么从打包的节点webkit应用程序加载和运行外部JavaScript文件的最佳方法是什么?我建议您使用应用程序数据路径。 请参阅文档

var gui = require('nw.gui');
var path = require('path');
var yaml = require('js-yaml');
var fs = require('fs');

var confPath = path.join(gui.App.dataPath, 'conf', "dev-conf.yml");
try {
  conf = yaml.load(fs.readFileSync(confPath, 'utf-8'));
} catch (err) {
  throw new Error("Cannot read or parse configuration file '"+confPath+"': "+err);
}
分离代码和配置是一个很好的做法,App.dataPath针对用户应用程序数据中特定于应用程序的文件夹(每个操作系统都不同)

我通常使用安装程序将配置文件复制到其中


下一个提示:我更喜欢在配置或设置中使用YAML而不是JSON,因为它允许您在文件中插入注释。

谢谢您的回答,应用程序数据路径就是我最终使用的路径。然而,我做了一些不同的事情…我没有使用安装程序,而是在应用程序启动时检查数据路径中所需的文件,如果不存在,则通过内部版本进行复制。也谢谢YAML的建议,我会调查的!当我执行
var gui=require('nw.gui')
在我的server.js中,我得到“找不到模块”nw.gui“,尽管我正在使用nwjs启动应用程序。你能使用css引用外部文件夹中的图像和其他内容吗?