4

Index.htmlとES6モジュールのサポート、CORSエラー

<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: Access to Script at 'file:///C:*******/es6/code.js' from origin 'null' has been blocked by CORS policy: Invalid response. Origin 'null' is therefore not allowed access.

Chromeはそれがモジュールをサポートできると言いますWeb上で動作するサンプルを見たことがありますが、それらをコピーしてローカルで実行すると、私は常に上記のエラーが発生します。

ChromeとChrome Canaryの両方でExperimental Web Platformの機能フラグを有効にしようとしました。

答えて

5

通常のスクリプトとは異なり、ES6モジュールはsame-origin policyの対象です。つまり、CORSヘッダーなしでファイルシステムまたはクロスオリジンからそれらをimportできません(ローカルファイルには設定できません)。

基本的には、(ローカル)サーバーからこのコードを実行するか、ブラウザで同じ原点を無効にしてテストする必要があります(これを永久に行わないでください)。参照:Access to Image from origin 'null' has been blocked by CORS policy

+0

ありがとうアレキサンダー!!! 私は電子を使用しようとするとどうなるでしょうか? –

+0

@markpavlis私はエレクトロンがそのようなセキュリティ制限を持っていないと思うだろうが、わからない。 –

関連する問題