无法从Spring微服务加载javascript文件

时间:2019-08-07 12:42:41

标签: javascript java ajax spring

我有一个用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文件中) enter image description here

这就是我尝试发送消息时得到的内容

enter image description here

1 个答案:

答案 0 :(得分:0)

应将javascript作为静态内容添加。检查这些链接以获取更多信息-https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-bootHow add Static Web Content in Spring-boot