Bonjour,

En utilisant nodejs qui renvoie vers un html comportant des modules
ex

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  <script src="runtime-es2015.e7edd95a6d67b0cfc239.js" type="module"></script>
il me dit :


Le chargement du module à l’adresse « ... » a été bloqué en raison d’un type MIME interdit (« text/html »).
Si j’installe mime avec npm pour changer le content-type (est ce une bonne idée ?), il ne détecte pas le module.
Ex dans un cas où mon body ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<body>
  <app-root></app-root>
 
  <script src="runtime-es2015.e7edd95a6d67b0cfc239.js" type="module"></script>
  <script src="runtime-es5.e7edd95a6d67b0cfc239.js" nomodule defer></script>
 
  <script src="polyfills-es5.a47da67aa9106f424095.js" nomodule defer></script>
  <script src="polyfills-es2015.0ed4e5313a48d5aed4f8.js" type="module"></script>
  <script src="main-es2015.720c1fe9369340c56899.js" type="module"></script>
  <script src="main-es5.720c1fe9369340c56899.js" nomodule defer></script>
</body>
Côté serveur en node, en faisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
app.use(function (req: Request, res : Response, next : NextFunction) {
        console.log(mime.getType(req.url));
        res.set('Content-Type', mime.getType(req.url));
        res.sendFile(path.join(__dirname,'../../public/index.html'));
});

Il me sort en console:

[ Node] null
[ Node] application/javascript
[ Node] application/javascript
[ Node] application/javascript
[ Node] text/css
[ Node] image/vnd.microsoft.icon
En fait les 3 scripts qui sont de type module sont reconnus comme "application/javascript".

Résultat il ne fait plus l'erreur citée plus haut mais il dit:

SyntaxError: expected expression, got '<'
Dans la console à la place.

Avez vous une idée du pb ?

Merci si vous pouvez m'aider.