type modules javascript google-chrome module ecmascript-6 same-origin-policy

javascript - modules - El soporte del módulo ES6 en Chrome 62/Chrome Canary 64, no funciona localmente, error CORS



javascript modules (2)

A diferencia de los scripts normales, los módulos ES6 están sujetos a la política del mismo origen . Esto significa que no puede import desde el sistema de archivos o el origen cruzado sin un encabezado CORS (que no se puede configurar para archivos locales).

Básicamente, debe ejecutar este código desde un servidor (local) o deshabilitar el mismo origen en el navegador para realizar pruebas (no lo haga de forma permanente). Ver: El acceso a la imagen desde el origen ''null'' ha sido bloqueado por la política de CORS .

Index.html

<html> <head> <script type="module"> import {answer} from ''./code.js'' console.info("It''s ${answer()} time!") </script> </head> <body> </body> </html>

code.js

export function answer(){ return ''module''; }

Error: el acceso a la secuencia de comandos en ''file: /// C: ******* / es6 / code.js'' desde el origen ''null'' ha sido bloqueado por la política de CORS: respuesta no válida. Por tanto, no se permite el acceso al origen ''nulo''.

Chrome dice que puede admitir módulos y he visto ejemplos trabajando en la web, pero cuando los copio de la descarga y los ejecuto localmente, siempre obtengo el error anterior. No quiero usar Babel, Webpack, etc.

He intentado habilitar el indicador de características de la Plataforma web experimental tanto en Chrome como en Chrome Canary.


He ejecutado el mismo problema, intentando importar el código es6 para iniciarlo en un archivo html en mi navegador, obteniendo errores CORS en la consola de mi navegador. Si tiene Python en su máquina, una forma fácil de crear un servidor local es:

python3 -m http.server 8001

Desde la carpeta en la que estás trabajando.