Javascript 为什么浏览器没有';你没看见我的模块吗?
谷歌浏览器58.0.3029.110(64位)Javascript 为什么浏览器没有';你没看见我的模块吗?,javascript,ecmascript-6,Javascript,Ecmascript 6,谷歌浏览器58.0.3029.110(64位) ECMAScript 6 我学习JavaScript并阅读理解ECMAScript 6的书。ECMAScript 6定义了模块概念 我编写了两个js文件,并将它们附加到我的html文件中。其中一个是脚本,另一个是模块。但是Google Chrome没有看到我的js模块。为什么会这样 这是我的html: <!DOCTYPE html> <html> <head> <meta charset='utf-
ECMAScript 6 我学习JavaScript并阅读理解ECMAScript 6的书。ECMAScript 6定义了模块概念 我编写了两个js文件,并将它们附加到我的html文件中。其中一个是脚本,另一个是模块。但是Google Chrome没有看到我的js模块。为什么会这样 这是我的html:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>Sandbox</title>
<script src='./js/module.js' type='module'></script>
<script src='./js/script.js' type='text/javascript'></script>
</head>
<body>
</body>
</html>
这是我的模块:
/* ECMAScript 6
* ./js/module.js
*/
function internalFunction(){
console.log('I am internal!');
}
export function exportedFunction(){
console.log('I am exported!');
}
结果是:
ES6模块目前在“实验Web平台”标志后面提供。它们在“稳定”Chrome中不可用。ES6模块目前在“实验性Web平台”标志后面可用。它们在“稳定”浏览器中不可用。大多数浏览器尚不支持模块。Safari 10.1实现了这些功能。在Chrome Canary中,您需要启用@SkinnyJ解释的支持 但您仍然需要修复代码中的一些问题:
沙箱
/*ECMAScript 6
*/js/module.js
*/
函数内部函数(){
log(“我是内部的!”);
}
导出函数exportedFunction(){
内部函数();
log(“我被导出了!”);
}
/*ECMAScript 6
*/js/script.js
*/
从“/module.js”导入{exportedFunction};
函数scriptFunction(){
log(“我是脚本函数!”);
}
脚本函数();
exportedFunction();
这在Safari 10.1和Chrome Canary中都可以使用chrome://flags/#enable-已启用实验性web平台功能。大多数浏览器尚不支持模块。Safari 10.1实现了这些功能。在Chrome Canary中,您需要启用@SkinnyJ解释的支持 但您仍然需要修复代码中的一些问题:
沙箱
/*ECMAScript 6
*/js/module.js
*/
函数内部函数(){
log(“我是内部的!”);
}
导出函数exportedFunction(){
内部函数();
log(“我被导出了!”);
}
/*ECMAScript 6
*/js/script.js
*/
从“/module.js”导入{exportedFunction};
函数scriptFunction(){
log(“我是脚本函数!”);
}
脚本函数();
exportedFunction();
这在Safari 10.1和Chrome Canary中都可以使用chrome://flags/#enable-已启用实验性web平台功能。模块中存在导出并不意味着它导出到全局范围。事实上,导出到全局的想法违背了模块的目的。我认为浏览器中还不支持模块。如果我阅读正确,它将在chrome 60之前不可用。。。。我认为您必须首先使用babel来传输您的代码,因为您使用的是es6/es2015~他们在书中没有解释吗?模块中存在导出并不意味着它导出到全局范围。事实上,导出到全局的想法违背了模块的目的。我认为浏览器中还不支持模块。如果我阅读正确,它将在chrome 60之前不可用。。。。我想你必须首先使用babel来传输你的代码,因为你使用的是es6/es2015~他们在书中没有解释吗?
/* ECMAScript 6
* ./js/module.js
*/
function internalFunction(){
console.log('I am internal!');
}
export function exportedFunction(){
console.log('I am exported!');
}