【问题标题】:Web App - manifest.json not applied if it's in a sub-pathWeb App - 如果 manifest.json 在子路径中,则不应用
【发布时间】:2017-10-12 05:29:12
【问题描述】:

我正在尝试创建一个基于反应的网络应用程序。我让它以我想要的方式工作,它以我期望的方式运行为一个网络应用程序——现在,这对我来说意味着在我的手机上,从 chrome,如果我从 chrome 菜单中选择“添加到主屏幕”它显示为好像它是一个应用程序(显示有自己的图标并在 chrome 之外的新窗口中启动)。

完成这项工作后,我决定重新组织路径,以便按照我想要的方式 - 从 mydomain.com -> apps.mydomain.com/appName。我将代码移到了正确的目录,当我在那里浏览时,我看到了我的“应用程序”。

我立即注意到静态资产未加载的问题,我通过在 www/mydomain.com 中添加指向 www/mydomain.com/appName/ 的符号链接来解决此问题静态。在这一点上,我认为我的应用程序已正确重组。

不幸的是,当我尝试从 chrome 中“添加到主屏幕”时,它现在创建了一个常规快捷方式,这对我来说似乎表明 manifest.json 没有被应用。这一切加起来是我不理解子路径的代码组织的一个基本问题,这让我停下来。

所以我的问题是: 我需要做什么才能在子路径中正确托管我的网络应用程序?

注意事项:

  • 我正在使用 nginx - 我怀疑我的问题在于那里的配置,如果需要有关我的配置的更多信息,我可以提供。
  • 关于对 apps. 的更改 - 抱歉,如果它在某种程度上混淆了问题,请注意我刚刚添加了一个别名 - 因此 apps.mydomain.com 似乎是等效的到 mydomain.com - 我只是在假设错误和问题的一部分时才注意到它。
  • 请原谅我的问题语言,如果它是错误的,我是网络新手,并且可能没有正确使用术语 - 这也是我在谷歌搜索时可能遇到困难的原因。

谢谢!

【问题讨论】:

  • 另请注意,我想让 apps.mydomain.com 仍然是一个有效的网站。我的想法是我可以从那里链接到我的应用程序。当我将清单复制到一个目录并将其更改为向下引用一个目录时,它确实有效 - 但这是不理想的行为,因为上述关于 apps.mydomain.com 变得不可用的注释以及因为我将其他应用程序放在其他路径中,即 apps.mydomain.com/app2 将无法正常工作。

标签: reactjs nginx web-applications


【解决方案1】:

我想我明白了。我的应用是使用 create-react-app 制作的,在 package.json 中我将主页编辑为我的路径。

从这里找到这个:

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#building-for-relative-paths

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2014-10-10
    • 2015-02-19
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多