在某次网页部署到服务器之后访问前端页面发现console下报了如下错误

Failed to load module script: The server responded with a non-JavaScript MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.

经研究发现是由于nginx无法识别mjs文件,从而在http header中错误的使用 Content-Type:application/octet-stream 来传输mjs文件,导致浏览器端认为它不是一个合法的js脚本,查找资料得出了结论,但是却没有在网上找到合适的解决办法,所以自己想到下面的解决办法,

自行编辑nginx的MIME type文件,修改对应的MIME type与mjs的映射,操作如下

去nginx配置文件中发现 mimetype文件路径为  /etc/nginx/mime.types

sudo vim /etc/nginx/mime.types

修改 

application/javascript                 js;

application/javascript                           js mjs;

然后 

sudo nginx -s reload

再次访问发现,网页没有报错,可以正常运行

问题解决!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐