带有反应的cordova app无法解析公共资产

时间:2018-01-04 14:58:12

标签: reactjs cordova

我有reactJs应用程序,它被部署为网络和移动应用程序。 移动应用程序基于Cordova(版本7.1.0)。

除了本地资源(位于www / subdirs中的资源)之外,一切都运行正常,尽管它们在那里。 更奇怪的是,一些资源,例如找到了一些字体,有些是之前发现的(i18n文件),但突然消失了。此外,还可以找到html图像中的硬编码:

<img src='images/foo.png'/>

但是使用reactjs动态添加的完全相同的代码无法到达图像。

找到的那些资源被解析为正确的url:file:///android_asset/www/subdir/resource.png

那些未解决错误路径的文件:file://subdir/resource.png

我尝试了两个前导斜杠,没有前导斜杠,设置html基本标记 - 没有

有人知道我做错了什么吗?

提前谢谢

更新:

这里的安全政策:

<meta http-equiv="Content-Security-Policy"
      content="default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; connect-src *; style-src 'self' 'unsafe-inline'; media-src *">

1 个答案:

答案 0 :(得分:0)

傻傻的我!浏览器像魅力一样工作,并完全按照预期解决了所有资源。问题是由于响应路由器在应用程序加载时将位置从主机/上下文/部分更改为主机/部分,因此在此之后必须加载的所有资源都被解析为错误的路径:主机/部分/资源而不是主机/上下文/资源。

解决方案是修复初始位置切换或将标签添加到标题