在NWJS app之外加载本地文件

时间:2017-02-25 16:03:57

标签: node-webkit nwjs

当我在本地工作时,我想在两个或更多(nwjs和其他类型)项目之间共享代码。文件夹结构:
- 项目1
- 项目2
共享代码

在发布应用程序时,我将外部文件构建到每个项目应用程序内的文件中。

但是我无法访问node-webkit / nwjs app文件夹之外的文件。

我尝试过这样的事情:
在清单文件中设置“chromium-args”:“ - allow-file-access-from-files”但我认为这是默认值。
使用file:///chromium-extension:///前置相对路径,但我认为这仅适用于绝对路径? 使用path.relative( process.cwd(), "../shared_code/scripts/controllers/searchController.js" );

动态加载文件

该应用程序的用户可以将其放在计算机上的任何位置。

是否可以在本地从nwjs项目文件夹外部加载js和css文件和图像?

nwjs sdk版本0.19.5

2 个答案:

答案 0 :(得分:0)

我在尝试在NW.js应用程序之外加载图像时遇到了类似的问题。我发现这解决了我的问题。尝试将此添加到您的JSON清单文件中。这对我有用......

"chromium-args": "--allow-file-access-from-files --allow-file-access --user-data-dir"

就这么你知道,我原本试过这个......

"chromium-args": "--allow-file-access-from-files --allow-file-access --user-data-dir --mixed-context"

但它停止了jquery加载。 然后,您可以使用file:///访问文件,并在计算机的任何位置使用绝对路径。

我希望有所帮助。

答案 1 :(得分:0)

对于共享代码,当代码是(或可以是)节点模块时,能够npm link将其放入项目中非常有帮助。 (它与NW.js应用程序的工作方式与Node.js相同:)

cd shared-code
npm link

cd ../project-1
npm link shared-code

cd ../project-2
npm link shared-code