ES 模块导入不起作用

2023-12-06

我正在尝试制作普通 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(使用前将#替换为@)

ES 模块导入不起作用 的相关文章

随机推荐

  • 重定向在 unix 内部是如何工作的

    让我们举个例子 我有一个名为 a out 的可执行文件 它包含将一些文本打印到 printf 的 STDOUT cos 的二进制信息 所以当我给出 a out 时 我在控制台 STDOUT 上看到 printf 的输出 假设我在控制台中执行
  • KeyguardManager FLAG_DISMISS_KEYGUARD 服务

    当屏幕打开时 我想检查电源按钮是否激活了它 如果是 它将自动关闭键盘保护并运行吐司 当屏幕关闭时 键盘保护将重新启用 代码到这里为止都有效 但是 当屏幕关闭时 我按下 音量调高 按钮 屏幕就会打开 但它进入检测到 电源 按钮被按下的循环 这
  • ORA-00911: 无效字符 Toad

    我用的是蟾蜍11 5 当我运行多个 truncate 语句时 它给出一个错误ORA 00911 无效字符 truncate table employees truncate table employees edit history trun
  • 如何在 IIS7 中设置应用程序的默认页面?

    我将 Web 应用程序部署到 IIS7 一切正常 但是 我希望它自动转到 www xxxxxx com views root default aspx 而不是输入真正的起始页的 url 我该怎么做呢 只需转到 web config 文件并添
  • 允许 python 子进程的多个输入

    我有一个与几年前提出的问题几乎相同的问题 有两个输入的 Python 子进程收到了一个答案但没有实施 我希望这份报告可以帮助我和其他人澄清问题 如上所述 我想使用 subprocess 来包装一个需要多个输入的命令行工具 特别是 我想避免将
  • sizeof() 如何通过引用参数传递

    我将一个数组传递给函数并尝试查找该数组的长度 但结果却出乎意料 有人可以解释一下吗 int main int array 10 0 func array return 0 void func int arr printf length of
  • 使用 Vue.js 在 .then 函数中输入错误

    我有一个获取请求来检测用户是否是管理员 我的问题是我想使用显示一个按钮v if检查它是真是假 默认情况下该值设置为false Data 然后我们得到了按钮 And the then in beforeCreate 你需要使用一个箭头函数以保
  • Go 中的 int 字符串? [复制]

    这个问题在这里已经有答案了 我真的认为这会很简单 string myInt 看来不是 我正在编写一个函数 它接受一个整数切片 并将每个整数附加到一个字符串中 并在每个整数之间添加一个分隔符 这是我的代码 func xis Int16Slic
  • 为什么栈是有界的?

    在我使用过的任何平台上 堆栈大小始终是有限的 您必须在某个时刻 在程序启动之前 指定最大堆栈大小 并且它是预先分配的 为什么堆栈不能是驻留在堆内存中的链表 那么它几乎是无限的 它是当今所有计算机体系结构的固有属性吗 我的问题与任何特定的编程
  • C 程序 77% 的时间都花在 _platform_memmove$VARIANT$Haswell 中 [已关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我正在分析一些用 C 编写的数字代码 分析器是 Instruments 编译器是clang在 Mac OSX 10 11 6 上 多达 77 3 的运行时间花费在 platform mem
  • Java ProcessBuilder 具有多个带空格的参数

    我知道关于从 java 执行进程有很多已解决的问题 但我无法使用提供的答案解决我的问题 我正在尝试从 java 应用程序创建 postgresql 数据库备份 我使用以下代码 ProcessBuilder probuilder new Pr
  • 针对特定用户的 Firebase 数据库规则

    我有一个数据库 我需要对所有用户进行读取访问 并且 在用户运行的应用程序脚本中调用时的写访问权限 电子邮件受保护 我的 firebase 结构是 ABC AAA1 date ABC AAA2 date ABC AAA3 date ABC A
  • 滞后时间序列数据

    我正在寻找建立一个用于预测的神经网络模型 我试图让我的数据采用图像中显示的格式 以便模型可以根据 2 天前 1 天前 今天 的先前值进行预测 这些值将在第二天针对下一个预测进行调整 例如如图所示 第一次输入的 1 天前变为第二次输入的 2
  • ExtJS:Grid 和 Form 之间的两种方式绑定

    我正在尝试学习 ExtJS 但有点卡在一个地方 我想创建一个顶部有网格 底部有表单的屏幕 我想将它们彼此绑定 以便当我从网格中选择一行时 会填充表单字段 网格中具有相同的记录 并且当我更改网格或表单中的任何内容时 另一侧也会更新 到目前为止
  • 动态地将内容添加到线性布局?

    例如 如果我定义了一个方向为垂直的根线性布局 main xml
  • Java新手需要数据库连接方面的帮助

    我是 Java 新手 甚至是 Java 数据库连接新手 当我将其放入 Main 类中时 我已成功创建数据库连接并查询表 现在我已将其移至名为 Connection 的新类中 但出现错误 package lokate import java
  • 开发蓝牙 (AVRCP 1.4) iPhone 应用程序需要了解哪些规格

    我是 iPhone 开发新手 我将参与一个项目 其中我必须开发一个支持蓝牙的 iPhone 应用程序来控制车辆音响和 DVD 播放器 该车辆配有物理遥控器 IR 该项目的目的是用支持蓝牙的 iPhone 应用程序取代 IR 以控制 IR 的
  • Lambda 捕获和参数同名 - 谁隐藏了另一个? (clang 与 gcc)

    auto foo You re using g auto compiler detector foo auto foo std puts foo compiler detector You re using clang 铿锵 3 6 0和较
  • 合并“NSManagedObjectContextDidSaveNotification”后,NSFetchedResultsController 未显示所有结果

    我有一个 NSFetchedResultsController 它使用谓词获取对象 isTrash NO 大多数情况下 这会按预期工作 但是当对象未被破坏时 获取的结果控制器不会获取未被破坏的对象 出了什么问题 发生这种情况的原因是由于me
  • ES 模块导入不起作用

    我正在尝试制作普通 ES 导入导出的简单示例 索引 js main js import foo from mathModule console log foo mathModule js export const foo Math sqrt