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';
}
エラー:Origin 'null'から 'file:/// C:*******/es6/code.js'のスクリプトへのアクセスがCORSポリシーによってブロックされました:無効な応答。したがって、Origin 'null'はアクセスを許可されません。
Chromeはモジュールをサポートできると言い、ウェブ上で動作する例を見てきましたが、ダウンロードしたものをコピーしてローカルで実行すると、常に上記のエラーが発生します。 Babel、Webpackなどを使用したくない.
ChromeとChrome Canary。の両方でExperimental Web Platform機能フラグを有効にしようとしました。
通常のスクリプトとは異なり、ES6モジュールは same-Origin policy の影響を受けます。これは、CORSヘッダー(ローカルファイルには設定できない)がなければ、ファイルシステムまたはクロスオリジンからそれらをimport
できないことを意味します。
基本的に、このコードを(ローカル)サーバーから実行するか、テストのためにブラウザーでsame-Originを無効にする必要があります(これを永続的に行わないでください)。参照: 起源 'null'からのイメージへのアクセスはCORSポリシーによってブロックされました 。
私は同じ問題で実行し、es6コードをインポートしてブラウザのhtmlファイルで起動しようとしましたが、ブラウザコンソールでCORSエラーが発生しました。マシンにpythonがある場合、ローカルサーバーを作成する簡単な方法は次のとおりです。
python3 -m http.server 8001
作業中のフォルダーから。