我正在尝试制作普通 ES 导入导出的简单示例。
索引.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="module" src="main.js"></script>
</head>
<body>
</body>
</html>
main.js
import {foo} from './mathModule';
console.log(foo);
mathModule.js
export const foo = Math.sqrt(2);
当我运行此页面时出现错误
main.js:1 GET http://[page].net/test/mathModule 404 (Not Found)
编辑:
项目结构
- test
- 索引.html
- main.js
- mathModule.js
import
需要一个完全限定的 URL。除非绝对 URL 上没有扩展名,否则您不能省略扩展名。
因此,根据您的示例使用来判断:
import {foo} from './mathModule.js';
As 尼梅什卡·斯里马尔发现,扩展要求似乎因实现而异。 Firefox 正在追加.js
自动,但 Chrome 和 Safari 需要实际地址。
我正在看规格,15.2.2 进口,并且似乎没有任何关于实现者是否应该自动附加扩展的规范。
另外,如航空自卫队格特指出自MDN 文档上import:
要从中导入的模块。这通常是相对或绝对路径
包含该模块的 .js 文件的名称。某些捆绑商可能会
允许或要求使用扩展;检查您的环境。
只允许使用单引号和双引号字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)