【问题标题】:Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "". (I did type module)无法加载模块脚本:需要 JavaScript 模块脚本,但服务器响应 MIME 类型为 \"\"。 (我做了类型模块)
【发布时间】:2022-11-15 18:54:37
【问题描述】:

虽然我不知道我做错了什么,但我收到了这个错误(main.mjs 和 connect-database.mjs 在它们没有连接到 html 文件时工作)

加载模块脚本失败:需要一个 JavaScript 模块脚本,但服务器以 MIME 类型“”响应。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。

索引.html:

主.mjs:

连接数据库.mjs:

【问题讨论】:

  • .mjs 文件发送到html 页面的服务器未配置为为.mjs 文件发送正确的content-type 标头。在修复之前,如果 HTML 加载重命名为 .js 文件扩展的 .mjs 文件的副本是否有效?
  • 您为 html 页面使用什么样的服务器?
  • @traktor那么我应该为内容类型写什么以及在哪里写?
  • @traktor 我将 main.mjs 更改为 main.js,现在出现此错误:Uncaught TypeError: Failed to resolve module specifier "cassandra-driver"。相对引用必须以“/”、“./”或“../”开头。
  • 看起来您正在尝试运行编写为在节点服务器中运行的 es 模块脚本(“main.mjs”),该脚本试图从 node_modules 文件夹导入 cassandra server 包。节点脚本不是为在浏览器中运行而设计的。

标签: javascript html import module


【解决方案1】:

节点脚本使用节点运行时环境,并具有对服务器上资源的程序访问权限。它们与具有不同安全模型和架构的浏览器运行时环境不兼容。尝试发送请求以执行或涉及执行数据库更新到服务器上的端点,这些端点将更新数据库作为其请求处理的一部分。

从浏览器发送请求的典型方法包括使用

  • 表单提交
  • 从表单中提取数据并将其作为FormData对象发布到服务器,可能使用XMLHttpRequest来发布它,
  • fetch API
  • 网页包含的前端库提供的HTTP请求抽象,如axios,或jQuery.ajax

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 2022-08-07
    • 1970-01-01
    • 2023-04-01
    • 2020-05-11
    • 1970-01-01
    • 2021-03-07
    • 2021-04-11
    • 2020-09-10
    相关资源
    最近更新 更多