我需要加载一个JavaScript(jQuery插件)在一个HTML文件。但它似乎没有工作。这是运行在Angular-CLI服务器(ng serve)这里的HTML。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<base href="/">
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="./test.js" type="text/javascript"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root>Loading...</app-root>
</body>
</html>
我得到这个错误:
拒绝执行"http://localhost:8080/test.js"中的脚本,因为其MIME类型("text/html")不可执行,并且启用了严格的MIME类型检查。
我找到了this question,其中的解决方案似乎是纠正type
属性,但这并没有解决我的问题,我尝试了text/javascript
和application/javascript
。
我需要在这里做什么?
编辑:网络控制台显示脚本的404错误。表示请求没有可用的响应数据。内容类型为text/html; charset=utf-8
注意:我最初发布这个示例时,它比我的实际代码要小得多,因为我不认为它与Angular CLI服务器有关。可能是这样,所以我将示例还原为我的实际代码。
3条答案
按热度按时间llmtgqce1#
尝试将js脚本放到
src/assets
文件夹中,然后开发服务器应该会提供正确的mime类型然后按如下方式引用
您可以将这些文件添加到
angular-cli.json
(如果使用angular 6,则为angular.json
)的“scripts”属性中,而不是将jquery和脚本包含在index.html中。注意:修改
.angular-cli.json
或angular.json
文件后,不要忘记重新启动ng serve
fjaof16o2#
我遇到了类似的问题
并通过
index.html
文件中的简单更改解决lsmd5eda3#
非常有趣,运行一个旧的
Angular
项目几年后,它是由于<base href="/">
引起的,更改为<base href="./">
修复了错误。