Webpack 开发服务器为 wasm 提供错误的 MIME 类型

如何解决Webpack 开发服务器为 wasm 提供错误的 MIME 类型

我使用的是 Vue 2(但我认为我的问题不是特定于 Vue 的)。该应用程序使用我使用 npm install [directory_name] 安装的 WebAssembly 库。当我运行 npm run serve 时,它将 .wasm 文件作为 text/html 而不是 application/wasm

我将此添加vue.config.js

module.exports = {
  // ...
  devServer: {
    mimeTypes: { 'application/wasm': ['wasm'] },},};

但在那种情况下,我明白了:

错误:尝试将“wasm”扩展的映射从“application/wasm”更改为“application/wasm”。传递 force=true 以允许这样做,否则从“application/wasm”的扩展列表中删除“wasm”。

是否可能 cli-vue-service/webpack-dev-server 已经知道 .wasm 文件,而我对我们如何使用 npm install 安装库的理解有误?

解决方法

我正在回答我自己的问题。

由于 webpack 的工作方式,让 webpack 加载 .wasm 文件很棘手(假设有可能)。我所做的是将 -s "SINGLE_FILE=1" 添加到 emcc 的选项中,这样它就不会产生 .wasm 文件;相反,它将 wasm 嵌入到胶水 .js 文件中。

,

顺便说一句,我是在收到此错误后才来到这里的:

Uncaught (in promise) TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.

我的 wasm fetch URL 中有一个错字,我正在获取一个不存在的文件,但它给了我这个 mime 类型错误。一旦我修正了错字,一切都奏效了。我不必将 mime 类型添加到 webpack 配置中。 (也许他们在你二月份发布后修复了它。)我正在使用 Vue 开发服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?