我开发了一个角度2应用程序并将其部署到运行在
之类的服务器上http://localhost:8080/platform/owa/myapp/index.html
该平台是一个Java应用程序,通过其Open Web App(OWA)模块支持Open Web Apps。因此,始终可以从/platform/owa/app_name/index.html访问平台上部署的所有应用。
所以当我第一次部署我的Angular 2应用程序时,我遇到了很多404错误,我查看了控制台,发现所有JavaScript文件都是从root解析的。例如http://localhost:8080/script.js而不是http://localhost:8080/platform/owa/app_name/script.js。要解决这个问题,我必须像这样
动态设置base-hrefdocument.write('<base href="' + document.location + '" />');
通过该更改,我停止收到404错误消息,页面显示正常。但是,在需要访问/ assets /文件夹中的图像的页面中会弹出一个问题。图像不显示。我的徽标无法显示,当我检查控制台时,我注意到角度仍在尝试解析与根目录相关的资源文件夹
localhost:8080 / assets / logo.png导致404并且我的徽标无法显示。我也在我的项目中使用了tinymce编辑器,并且它希望某些文件存在于/ assets /文件夹中,但由于它无法访问assets文件夹,因此无法编辑。
更新根据以下评论,我意识到我留下了一个重要细节。要访问我的徽标,我使用了将源设置为/assets/logo.png。也许我可以改变它以使用应用程序的路径,因为它在我的控制之下,但我如何使tinymce解析资源文件夹。这是我下载的一个插件,它希望一些文件位于assets文件夹中。
答案 0 :(得分:0)
从@Vega评论,我意识到我应该问的问题是如何更改tinymce skin_url的默认值?哪会有更成功的搜索。我用谷歌搜索并看到了一个文档,它说我需要做的就是在创建如下编辑器时指定自定义skin_url
tinymce.init({
...
skin_url: '/css/mytinymceskin'
});
由于