J'ai eu cette erreur en essayant de lancer une page html à l'aide d'un fichier javascript qui importait une fonction d'un autre fichier:
Access to script at 'file:///C:/Users/bla/Desktop/stuff/practice/jsPractice/funcexecute.js'
from Origin 'null' has been blocked by CORS policy:
Cross Origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Failed to load resource: net::ERR_FAILED
Voici le code html:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=Edge'>
<title>Page Title</title>
<meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
<script type = 'module' src='funcexecute.js'></script>
</body>
</html>
js qui a été appelé depuis le html: (funcexecute.js)
import sumup from '/funcfile.js';
console.log(sumup(1,2));
Module importé: (funcfile.js)
function sumup(num1, num2){
return num1+num2;
}
export default sumup;
Comment puis-je réparer cela? (j'utilise vscode)
Vous ne pouvez pas utiliser un fichier de script en tant que module sans utiliser de serveur. Jetez un oeil ici
Voici quelques-unes des options
http-server .
de votre répertoire de projet)En bref, je ne peux pas utiliser type="module"
avec fichier protocole