Подтвердить что ты не робот

Поддержка модуля ES6 в Chrome 62/Chrome Canary 64 не работает локально, ошибка CORS

Index.html

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

code.js

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

Ошибка: доступ к скрипту в файле:///C: *******/es6/code.js из источника "null" был заблокирован политикой CORS: неверный ответ. Поэтому исходный 'null' не допускается.

Chrome говорит, что он может поддерживать модули, и я видел примеры, работающие в Интернете, но когда я копирую их из загрузки и запускаю их локально, я всегда получаю ошибку выше. Я не хочу использовать Babel, Webpack и т.д.

Я попытался включить флаг функций Experimental Web Platform как в Chrome, так и в Chrome Canary.

4b9b3361

Ответ 1

В отличие от обычных скриптов, модули ES6 подчиняются политике одного происхождения. Это означает, что вы не можете import их из файловой системы или перекрестного происхождения без заголовка CORS (который не может быть установлен для локальных файлов).

В основном вам нужно запустить этот код с локального сервера или отключить его в браузере для тестирования (не делайте этого постоянно). См.: Доступ к изображению из источника "null" был заблокирован политикой CORS.