uniapp failed to load module script: expected a javascript module script but the server responded with a mime type of 如何解决?
我在使用uniapp开发时遇到了一个报错:“Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of…”。这个错误导致我的项目无法正常运行,请问该如何解决?具体是哪个配置出了问题?需要修改服务器设置还是uniapp的配置?
2 回复
服务器未正确配置MIME类型。检查服务器配置,确保.js文件返回正确的MIME类型application/javascript。
这个错误通常是因为服务器返回的 JavaScript 文件 MIME 类型不正确,导致浏览器拒绝执行。以下是几种解决方案:
1. 配置服务器 MIME 类型
Apache 服务器(在 .htaccess 文件中添加):
<IfModule mod_mime.c>
AddType application/javascript .js
AddType application/wasm .wasm
</IfModule>
Nginx 服务器(在 nginx.conf 中添加):
location ~* \.js$ {
add_header Content-Type application/javascript;
}
2. UniApp 本地开发解决方案
修改 manifest.json:
{
"h5": {
"devServer": {
"headers": {
"Content-Type": "application/javascript"
}
}
}
}
3. 检查文件路径和引用
确保在页面中正确引用模块:
// 正确方式
import module from '@/common/module.js'
// 而不是
import module from '@/common/module'
4. 构建配置检查
在 vue.config.js 中配置:
module.exports = {
configureWebpack: {
output: {
chunkLoadingGlobal: 'appJsonp'
}
}
}
5. 部署注意事项
- 确保服务器正确配置了所有静态资源的 MIME 类型
- 检查文件是否实际存在且路径正确
- 清除浏览器缓存和构建缓存重新尝试
最可能的原因是服务器配置问题,优先检查服务器 MIME 类型设置。

