将jQuery插件导入Angular 2+拒绝执行脚本,因为其MIME类型(’text / html’)不可执行

我需要在HTML文件中加载JavaScript(jQuery插件)。 但它似乎没有起作用。 这是在Angular-CLI服务器上运行的(ng服务)这是HTML。

    Test        Loading...   

我收到此错误:

拒绝从’ http:// localhost:8080 / test.js ‘执行脚本,因为它的MIME类型(’text / html’)不可执行,并且启用了严格的MIME类型检查。

我发现了这个问题 ,解决方案似乎正在纠正type属性,但这并没有为我解决。 我试过text/javascriptapplication/javascript

我需要做什么?

编辑:网络控制台显示脚本的404错误。 表示请求没有可用的响应数据。 内容类型说text/html; charset=utf-8 text/html; charset=utf-8

注意:我最初将此作为一个比我的实际代码更简单的示例发布,因为我认为它与Angular CLI服务器没有关系。 可能就是这种情况,所以我将我的示例恢复为我的实际代码。

尝试将js脚本放在src/assets文件夹中。 然后它应该由开发服务器提供正确的mime类型

然后像下面一样引用它

  

您可以将文件添加到angular-cli.json (或angular.json如果使用angular 6)的“scripts”属性,而不是在index.html中包含jquery和您的脚本。

 "scripts": [ //include jQuery here, eg if installed with npm "../node_modules/jquery/dist/jquery.min.js" , "assets/scripts/test.js" ] 

注意 :修改.angular-cli.jsonangular.json文件后,不要忘记重新启动ng serve

我遇到过类似的问题

问题

index.html文件中

  // remove dot (.) and your app will execute scripts