Si vous êtes tombé sur ce message d'erreur, cela signifie qu'il ne s'agit pas d'un problème d'origine identique.
Comme indiqué dans le message d'erreur, le vrai problème est que les modules scripts exigent que le MIME de votre fichier scripts soit un des types MIME de javascript.
Votre système de fichiers ne fournit pas de MIME, d'où l'échec du chargement.
La meilleure solution est donc évidemment d'exécuter votre code sur un serveur local, et non sur le système de fichiers.
Mais puisque vous insistez ;) Une solution de contournement consiste à récupérer d'abord votre fichier script en tant que Blob en utilisant XHR ( fetch
ne peut pas être utilisé sur file://
), puis de forcer son type
pour qu'elle soit l'un des js MIME, et définissez votre propriété <script>
Le src de l'utilisateur est un blobURI lié à ce Blob.
// requires to start chrome with the --allow-file-access-from-file flag
var xhr = new XMLHttpRequest();
xhr.onload = e => {
let blob = xhr.response;
blob.type = 'application/javascript'; // force the MIME
moduleScript.src = URL.createObjectURL(blob);
};
xhr.open('get', "yourmodule.js");
xhr.responseType = 'blob';
xhr.send();
MAIS vous ne serez pas en mesure de import
toutes les dépendances de votre module.
1 votes
Vous devez configurer un serveur HTTP local. Utiliser des fichiers : URL n'est jamais une bonne idée car elle ne se comporte pas comme une véritable page.
3 votes
Les utilisateurs finaux reçoivent la page emballée avec webpack. Mais pour moi, il est plus confortable de tester avec des fichiers. Je peux lancer un serveur python ou node.js, mais je n'en ai pas envie.
1 votes
En fait, je viens d'essayer et vous n'êtes pas confronté à cette restriction de même origine. C'est comme le dit le message d'erreur : ils font une vérification stricte contre le type MIME js, votre système de fichiers n'en fournit pas.
1 votes
Alors la question est de savoir comment désactiver cette vérification pour les fichiers locaux, non ?
7 votes
Je suppose que vous n'avez jamais eu de réponse valable à cette question ? J'aimerais bien avoir une solution de rechange.
1 votes
bugs.chromium.org/p/chromium/issues/detail?id=824651 - un problème correspondant sur le gestionnaire de problèmes