Je dois charger un JavaScript (plug-in jQuery) dans un fichier HTML. Mais cela ne semble pas fonctionner. Ceci est exécuté sur un serveur CLI-Angulaire (serveur) Voici le code 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>
Je reçois cette erreur:
Refusé d'exécuter le script à partir de ' http: // localhost: 8080/test.js ' car son type MIME ('text/html') n'est pas exécutable et la vérification de type MIME stricte est activée.
J'ai trouvé cette question , où la solution semble corriger l'attribut type
, mais cela ne m'a pas résolu le problème. J'ai essayé text/javascript
et application/javascript
.
Que dois-je faire ici?
EDIT: la console réseau affiche une erreur 404 pour le script. Dit que la demande n'a pas de données de réponse disponibles. Le type de contenu dit text/html; charset=utf-8
REMARQUE: j’avais initialement publié cet exemple comme un exemple plus minimal que mon code réel, car je ne pensais pas qu’il était lié à Angular CLI. C’est peut-être le cas, j’ai donc restauré mon exemple au code réel que j'ai.
Essayez de placer votre script js dans le dossier src/assets
. Ensuite, il devrait être servi avec le type mime correct par le serveur de développement
Puis référence comme ci-dessous
<script src="/assets/scripts/test.js" type="text/javascript"></script>
Plutôt que d’inclure jquery et votre script dans index.html, vous pouvez ajouter les fichiers aux propriétés "scripts" de angular-cli.json
(Ou angular.json
Si vous utilisez angular 6)
"scripts":
[
//include jQuery here, e.g. if installed with npm
"../node_modules/jquery/dist/jquery.min.js" ,
"assets/scripts/test.js"
]
Note: N'oubliez pas de redémarrer ng serve
Après avoir modifié les fichiers .angular-cli.json
Ou angular.json