Flask环境Web Worker调用importScripts()出现MIME类型错误求助
问题根源
错误的核心原因是Flask返回JS文件时的Content-Type响应头值为text/plain,浏览器要求Web Worker加载的脚本必须是合法的可执行JS MIME类型(即application/javascript),因此触发了加载拦截逻辑。
解决方案
方案1:全局配置Flask的JS文件MIME类型映射
在初始化Flask应用的代码开头,添加MIME类型注册逻辑,强制指定.js后缀的文件返回正确类型,优先级高于系统默认配置:from flask import Flask import mimetypes # 第三个参数True表示覆盖已有的同后缀MIME配置,避免系统预设值干扰 mimetypes.add_type('application/javascript', '.js', True) app = Flask(__name__) # 后续正常写你的业务逻辑即可方案2:自定义路由返回JS时手动指定类型
如果你没有走Flask默认的static静态资源路由,而是自己写路由返回SHA.js,需要在返回响应时手动声明MIME类型:from flask import send_file @app.route('/static/SHA.js') def load_sha_js(): return send_file('你的SHA.js本地存储路径', mimetype='application/javascript')
验证方法
修改代码重启Flask服务后,打开浏览器开发者工具的「网络」面板,找到SHA.js的请求记录,查看响应头中的Content-Type字段,确认值为application/javascript即可正常使用importScripts()加载该文件。
内容的提问来源于stack exchange,提问作者David Pires
相关产品推荐
相关产品推荐

