我有一个用Spring开发的微服务应用程序,可以通过API网关使用localhost:port/my-service/
之类的地址进行访问,但是前端无法工作,因为它无法检测到我的JS文件。
它实际上是一个聊天模块(类似于Facebook Messenger)。我的界面(我们称其为index.html)有一个div,在其中我通过XHR请求显示聊天模块界面(称为一个chat.html),但是当我尝试发送消息时,浏览器的控制台日志中说我使用chat.html接口发送消息的功能sendMessage
未定义。而且我注意到,除了jQuery库(https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
)之外,该应用似乎没有加载我的其他任何JS文件。
起初,我以为这只是一个路径问题(仍然认为是问题),所以我将其从/js/app.js
更改为http://localhost:port/my-service/js/app.js
,是行不通的。
然后我将其添加到脚本标签application/json
中,也不起作用。
通过邮递员,我找到了显示我的JS文件http://localhost:9089/chat-service/js/app.js
的正确请求,但仍然无法与我的应用一起使用。
这是我的脚本标签
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="application/json" src="https://raw.githubusercontent.com/stomp-js/stomp-websocket/master/lib/stomp.js"></script>
<script type="application/json" src="https://cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.min.js"></script>
<script type="application/json" src="https://raw.githubusercontent.com/stomp-js/stomp-websocket/master/lib/stomp.min.js"></script>
<script type="application/json" src="http://localhost:port/my-service/js/app.js"></script>
我不知道为什么只加载第一个。
我期望的唯一结果是加载了我的JS文件,并且我的应用程序正常运行。 我不确定我可能没有想到的事情,但是我无法克服那个问题。任何帮助将不胜感激。
编辑
这是我访问应用程序时浏览器控制台显示的内容。请注意,只有jQuery文件成功加载了(在我的其他JS文件中)
这就是我尝试发送消息时得到的内容
答案 0 :(得分:0)
应将javascript作为静态内容添加。检查这些链接以获取更多信息-https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot和 How add Static Web Content in Spring-boot