Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ecmascript 6 我如何获得';导入&x27;通过file://协议在网页中工作_Ecmascript 6 - Fatal编程技术网

Ecmascript 6 我如何获得';导入&x27;通过file://协议在网页中工作

Ecmascript 6 我如何获得';导入&x27;通过file://协议在网页中工作,ecmascript-6,Ecmascript 6,大多数浏览器都支持“导入”,因此以下功能应该可以正常工作: /** * Adder.mjs */ class Adder { add(n1, n2) { return n1 + n2; } } export default Adder; test.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Import Test

大多数浏览器都支持“导入”,因此以下功能应该可以正常工作:

/**
* Adder.mjs
*/

class Adder {

    add(n1, n2) {
        return n1 + n2;
    }
}

export default Adder;
test.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Import Test</title>
<script type="module">
    import Adder from "./Adder.mjs";
    var adder = new Adder();
    var result = adder.add(1, 1);
    console.log("Result: " + result.toString());
</script>
</head>
<body>
</body>
</html>

正如康奈索指出的那样:

“模块不能在文件://协议上工作。您需要一个Web服务器。”


还值得注意的是,Apache不支持.mjs文件扩展名,ES6模块的后缀必须是.js。

您是否检查过您引用的是
Adder.mjs
,而不是
Adder.js
?此外,您的代码在
Adder.mjs
中有
Class
而不是
Class
。文件
Adder.mjs
是否在
Test
文件夹中?名称的大小写是否正确?不是
adder.mjs
模块不在
文件://
协议上工作。您需要一个web服务器。已安装apache并加载网页,控制台中出现以下错误:未能加载模块脚本:服务器以非JavaScript MIME类型“”响应。根据HTML规范对模块脚本执行严格的MIME类型检查。这通常意味着您有一个404。检查网络选项卡。
Access to script at 'file:///home/gso/eclipse-workspace/Test/Adder.js' from origin 'null' has been blocked by CORS policy: The response is invalid.
test.html:7 GET file:///home/gso/eclipse-workspace/Test/Adder.js net::ERR_FAILED