在某次网页部署到服务器之后访问前端页面发现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
再次访问发现,网页没有报错,可以正常运行
问题解决!