4

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

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

但我无法访问 node-webkit/nwjs 应用程序文件夹之外的文件。

我试过这样的事情:
在清单文件中设置“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

4

2 回答 2

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:///并使用绝对路径。

我希望这会有所帮助。

于 2017-07-30T19:43:04.943 回答
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
于 2018-04-15T20:52:10.113 回答