首页  >  问答  >  正文

虚拟目录中的 Angular + Cordova

我有一个 Angular 应用程序设置为在虚拟目录中运行。 (https://{url}/{virtualDirectory})

我正在尝试将此应用程序包装在 Cordova 应用程序中,该应用程序将指向 URL 作为内容源。 (<content src="https://{url}/{virtualDirectory}"/>)

在我的index.html 文件中,我添加了 cordova.js 脚本。 (<script src="cordova.js"></script>)

我的问题似乎是 Angular Router 妨碍了。当我调试应用程序时,我看到以下控制台错误:

caught 语法错误:意外的标记“<”(位于 cordova.js:1:1)

当我查看源代码时,我看到 Angular 应用程序的 404 页面已呈现,因此 Angular 路由正在尝试处理此路径。

当我们在 Docker 配置中构建和部署时,我们正在设置 baseHref,因为我们必须使用虚拟文件夹:

ng 构建 --base-href /{virtualDirectory}/ --configuration=$environment --output-path=dist

在实际网页中呈现为 <base href="/{virtualDirectory}/">

我尝试用谷歌搜索这个问题,并找到了有关如何解决此问题的任何建议(或者至少没有一个有效)。有人可以帮我指出正确的方向吗? TIA。

P粉551084295P粉551084295244 天前766

全部回复(1)我来回复

  • P粉616383625

    P粉6163836252024-02-18 21:25:09

    我在 Apache 服务器上的虚拟目录上发布时也遇到了这个问题。我遵循的内容如下:

    1. 确保您的物理路径文件夹和虚拟目录文件夹应该相同。喜欢:
    • 物理路径:D:\some-path\project-name\audience
    • 虚拟路径:https://your-web-name/audience/d63b643da9b9cfc65e7d304b0aa33c98
    1. 运行此命令 ng build --base-href ./ --deploy-url ./注意:只有正确遵循第 1 点,此命令才有效)

    回复
    0
  • 取消回复